箭头函数中的this
- 箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定
- 箭头函数中,this指向的固定化,并不是因为箭头函数内部有绑定的this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this,所以也就不能用作构造函数。
- 箭头函数中的this是在定义函数的时候绑定
1 | var x = 11; |
所谓的定义时候绑定,就是this是继承自父执行上下文中的this,比如这里的箭头函数中的this.x
,箭头函数本身域say平级以key:value
的形式,也就是箭头函数本身所在的对象为Obj
,而obj的父执行上下文就是window
,因此这里的this.x
实际上表示的是window.x
,因此输出的是11
.
1 | var obj = { |
例子中的箭头函数是在getAge方法中定义的,因此,getAge方法
的父执行上下文是obj
,因此箭头函数的this指向的就是obj对象