var p={
age:18,
run:()=>{
setTimeout(()=>{
console.log(this.age)
},100)
},
travel:function(){
setTimeout(()=>{
console.log(this.age)
},100)
}
}
p.run();//undefined
p.travel();//18
1.箭头函数不具备独立的作用域
2.箭头函数内部的this是由外层函数的this所决定,一层层向上找,找不到的情况下会指向window
3.任何方法都改变不了其指向,如bind()/call()/apply()
4普通函数的this指向的是调用它的对象
网友评论