javascriptthis指向问题是怎么回事?

2025-06-23 21:52:52
推荐回答(2个)
回答1:

this对象是在运行时基于函数的执行环境绑定的,它可能是全局对象或者其他的某个对象,随着函数的执行环境不同,this的值也会不一样。但是总有一个原则,那就是this指的是调用函数的那个对象。
还有另一个原则:当没有明确的调用函数的那个对象时,this指向全局对象global,浏览器模式下就是window了。

回答2:

JavaScript 语言中 this 被允许出现在独立函数里
每个函数都有一个隐式的 this 形参。将函数作为方法调用时,这个参数会被设置为用于访问该方法的对象。这和大多数面向对象语言中的 this(或 self)含义相同
但是 JavaScript 在「关联到对象的方法」与「独立函数」这两者之间,使用了单一的定义形式。这使 this 导致了许多程序员的困惑和 bug