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; } 如果箭头函数不需要参数或需要多个参数, ...
随机推荐
- [物理学与PDEs]第3章习题5 一维理想磁流体力学方程组的数学结构
试将一维理想磁流体力学方程组 (5. 10)-(5. 16) 化为一阶拟线性对称双曲组的形式. 解答: 由 (5. 12),(5. 16) 知 $$\beex \bea 0&=\cfrac{\ ...
- 浏览器录宏重放软件-iMacros
iMacros https://imacros.net/ iMacros v12 Now Available The world's most popular web automation, data ...
- shell ip变量加法运算
#!/bin/bash for ip in `cat a.txt`;do a=`echo $ip|awk -F '.' '{print $1}'` b=`echo $ip|awk -F '.' '{p ...
- Selective Search for Object Recognition(理解)
0 - 背景 在目标检测任务中,我们希望输入一副图像,输出目标所在的位置以及目标的类别.最常用的算法是滑动窗口方法,但滑动窗口其实相当于穷举图像中的所有子图像,其效率低且精度也受限.该论文提出一种新的 ...
- [转载]关于在Linux下上传代码至Github
刚开始使用Github没多长时间,所以很多地方不太熟练,看到阿里云上有一篇文章写得不错,故转载过来. 转载自:https://www.aliyun.com/jiaocheng/122729.html ...
- Xpath初了解
如下一段html: <html> <body> <form id="loginForm"> <input name="usern ...
- 可持久化并(xian)查(duan)集(shu)
随便地点开了这道可持久化并查集,发现了真相...这和并查集有 PI 关系哦.除了find_father(而且还不能路径压缩),全都是线段树0.0 题目链接: luogu.org 题目没什么描述,就是三 ...
- 【原创】大数据基础之Ambari(4)通过Ambari部署Impala
ambari2.7.3(hdp3.1) 安装 impala2.12(自动安装最新) ambari的hdp中原生不支持impala安装,下面介绍如何通过mpack方式使ambari支持impala安装: ...
- js通过高德地图获取当前位置的经度纬度
效果图如下: 已经获取到了经度纬度了 代码如下: <!doctype html> <html> <head> <meta charset="utf- ...
- 【git】将本地项目上传到远程仓库
飞机票 一. 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: htt ...