关于函数直接调用
来源:6-4 this 有几种赋值情况

Crispika
2020-06-24
老师,请问直接调用函数this指向window本质上是因为调用window上的方法吗?我的意思是因为global function是往window上添方法,所以window对象
的方法被调用,根据对象方法调用this指向调用它的对象这一原则,所以this指向window.
同样很相似的例子:
const a ={
wait(){
setTimeout(function(){
console.log(this) // window
})
}
}
this指向window的缘故是不是也是因为setTimeout是window的方法呢?
这么一捋看上去还挺有道理的,但是我不知道实际上原理对不对,请问我可以这样理解吗?
写回答
1回答
-
这一点没啥道理可讲的,而且也毫无道理可讲,因为很多人猜测 this 等于 window ,这当初是 js 设计时的一个失误,也难倒了很多 js 初学者。
所以,这里不要想太多,也不要研究它为什么这样设计,记住就好了。
112020-06-25
相似问题