在 JavaScript 中,this
关键字的值是由函数调用的上下文决定的。this
的值在不同的场景中会有所不同,理解这些场景非常重要。
1. 全局上下文中的 this
- 在全局执行环境中(非严格模式),
this
指向 全局对象(在浏览器中是window
,在 Node.js 中是global
)。 - 在严格模式下,
this
会是undefined
。
console.log(this); // 在浏览器中输出 window,在 Node.js 中输出 global
2. 普通函数调用中的 this
在普通函数调用时,this
会指向 全局对象(在非严格模式下)。在严格模式下,this
为 undefined
。