1.this的指向
let obj = {
run: function () {
return () => {
console.log(this); // run
}
}
}
obj.run()()
这个this指向 是指向这个run
箭头函数在定义时 就决定了其this的指向
也就是 这个 run的this指向谁 他就指向谁
切 就算 之后修改它本身的this 指向
它也不会变
let obj = {
run: function () {
return () => {
console.log(this); // run
}
}
}
obj.run().call(window)
当你改为普通函数
let obj = {
run: function () {
return function () {
console.log(this); // window
}
}
}
obj.run()()
return的普通函数this指向是 window
且this指向会被修改
let obj = {
run: function () {
return function () {
console.log(this); // window
}
}
}
obj.run().call(window)
2.箭头函数 不能new 也没有prototype
3.箭头函数 没有arguments
4.外形也不同
本文详细讲解了箭头函数的this指向规则,指出其在定义时即确定,不受外部作用域影响,并通过实例演示了普通函数中this指向的变化。还介绍了箭头函数的其他特性,如不可用作构造函数和缺少arguments。
1441

被折叠的 条评论
为什么被折叠?



