箭头函数是ES6新增的语法,具体的语法不在这里详细叙述,现在来讲一下箭头函数this的指向与普通函数的区别
作用域链
在函数调用中,函数中的this指向父级,默认的父级为window
var f = function(){
console.log(this)
}
obj.f() //this指向obj
f() //this指向window
可以看出普通函数this的指向是在执行时决定的。
箭头函数this指向
与普通函数this的指向不同,箭头函数的this指向在定义的时候就已经决定了
var obj = {
s : ()=>{ console.log(this) } //this一直会指向obj
}