5. 箭头函数_this 指向_es6 常用语法
1. 箭头函数
函数的简写方式
() => {}
只有一个参数时,可以省略() ---- x => {}
只有一条语句时,可以省略{},此时这点语句的结果会作为函数的返回值返回 () => console.log('hello');
特点:
箭头函数没有自己的 this,与离他最近的一层包裹它的函数的 this 一致,如果没有函数就指向 window
箭头函数没有 prototype 属性,有 __proto__ 属性
箭头函数不能 new 调用
箭头函数不能强制修改 this 指向
2. 谈谈 this
foo() window
obj.foo() obj
foo.call(obj) obj
new foo() 实例对象
箭头函数的 this 与离他最近的一层包裹它的函数的 this 一致,如果没有函数就指向 window
DOM事件 dom元素
定时器 window
3. promise
解决异步编程的一个方案/技术
解决异步编程,以同步的方式表达异步的代码, 从而解决回调地狱的问题
promise 对象有 3 种状态
初始化状态(默认情况下) pending 准备
成功的状态 (一旦变成成功的状态就会立即触发成功的回调) fullfilled
失败的状态 (一旦变成失败的状态就会立即触发失败的回调) rejected
使用:
new Promise((resolve, reject) => {异步代码})
Promise.resolve/reject()
Promise.all([promise1, promise2...])
promsie.then(捕获成功的状态,执行成功的回调函数).catch(捕获失败的状态,执行失败的回调函数)
4. async 函数修饰关键字
用来定义函数,真正解决回调地狱的问题,异步编程的最终解决方案
await Promise对象;
只能在 async 函数中使用
后面必须跟着 promise 对象,async 函数返回值也是pormise对象
当 promise 对象状态是初始化状态,await 会等待,直到变成成功/失败才会接着运行
await等待promise对象变成成功时,会将其返回值返回到左边去,可被变量接收
5. ES6 其他常用的语法
解构赋值
形参默认值
模板字符串 `${js 代码将被执行}`
简化对象的写法
三点运算符
Symbol 新的数据类型
iterator 新的接口,提供统一的遍历方法 for of
5. 箭头函数_this 指向_es6 常用语法的更多相关文章
- ES6 箭头函数 this 指向
ES6 箭头函数 this 指向 箭头函数有几个使用注意点: 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个 ...
- 箭头函数this指向问题
this指向本质 箭头函数this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this ...
- ES6 箭头函数this指向问题
var name = "window"; var person1 = { name: "person1", show1: function() { consol ...
- es6箭头函数 this 指向问题
es5中 this 的指向 var factory = function(){ this.a = 'a'; this.b = 'b'; this.c = { a:'a+', b:function(){ ...
- ES6 箭头函数this指向
箭头函数有几个使用注意点. (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误. (3)不可以使 ...
- typescript 属性默认值使用箭头函数 this指向问题
今天注意到前端小伙伴用react 定义component class的方法的时候是通过箭头函数的方式,表示好奇. class Test extends React.Component { public ...
- ES6箭头函数this指向
普通函数中的this: 1. this总是代表它的直接调用者(js的this是执行上下文), 例如 obj.func ,那么func中的this就是obj 2.在默认情况(非严格模式下,未使用 'us ...
- 箭头函数中可改变this作用域,回调函数用箭头函数this指向page,自定义事件用箭头函数this指向undefined
1.回调函数中,用箭头函数改变this的作用域 success: (res)=>{ this.setData({ //此时,this指向page页面 ... }) } 2.自定义事件中,如果使用 ...
- js中箭头函数 及 针对箭头函数this指向问题引出的单体模式
ES6允许使用“箭头”(=>)定义函数 var f = a = > a //等同于 var f = function(a){ return a; } 如果箭头函数不需要参数或需要多个参数, ...
随机推荐
- ubuntu文件搜索统计
一.在ubuntu下如何搜索文件 1.特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来.我一般的查找都用这条命 ...
- JavaScript 基础六 'use strict'严格模式下的规则
why 严格模式 [1] 消除js语法的一些不合理.不严谨.不安全问题,减少怪异行为并保证代码运行安全 [2] 提高编译器效率,增加运行速度 使用 [1]整个脚本启用严格模式,在顶部执行:" ...
- 爬取qq音乐巅峰榜---内地音乐的榜单
import requestsimport jsonimport sys for i in range(0,10): url = "https://szc.y.qq.com/v8/fcg-b ...
- 2.9 while循环
while循环 <1>while循环的格式 while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)... demo i = 0 whil ...
- 「NOI2017」泳池
DP式子比后面的东西难推多了 LOJ2304 Luogu P3824 UOJ #316 题意 给定一个长度为$ n$高为$ \infty$的矩形 每个点有$ 1-P$的概率不可被选择 求最大的和底边重 ...
- CF1153E Serval and Snake
题目地址:CF1153E Serval and Snake 这是一道交互题 由于只需要确定起点和终点 你选择的矩形会将整个矩形分成的两个部分 如果起点和终点在同一个部分里,那么很显然回答应该是个偶数 ...
- linux 批量测试域名返回码脚本
需求:应用要求覆盖host并测试 1.创建一个host.txt的文件来存放需要修改的host记录 2.过滤出host.txt域名列并新生成一个curl.txt文件 cat host.txt |awk ...
- 经典合集 - WP8.1数据源
[内容说明:] 这里是一个页面类型的数据源,在开发WP应用程序中,因为目前没有数据库服务器等网络资源,突发奇想,通过博客园提供的WCF接口访问该博文地址获取文章内容,在应用程序中使用正则表达式解析并转 ...
- 百度上传插件---webuploader的使用
需求:朋友让找一个兼容IE8的上传插件,卧槽,IE8,我当时是崩溃的,然后就搜到了这个百度的插件,官网是这样描述的 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HT ...
- 向量 dot cross product 点积叉积 几何意义
向量 dot cross product 点积叉积 几何意义 有向量 a b 点积 a * b = |a| * |b| * cosθ 几何意义: 1. a * b == 0,则 a ⊥ b 2. a ...