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.外形也不同