let length = 10
function fn(){console.log(this)}
let obj= {
lenght:5,
method(fn){
fn() // fn.call(undefined)
arguments[0]() // fn.call(arguments)
}
}
obj.method(fn,1) // obj.method.call(obj,fn,1)
箭头函数的this是环境中的,因此不支持this
其它函数的this是一个隐式参数,要看函数调用时传的是多少
遇到this,都可以把它转化为call(),这样可以清楚的看出它的this是谁,实际上浏览器也是这样做的。
本文解释了JavaScript中箭头函数的`this`指向特性,以及传统函数的隐式`this`参数。通过`call()`方法明确`this`指向,有助于理解和控制函数执行时的上下文。

1388

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



