JavaScript中this指针的指向规则详解

作者:代码拾荒

时间:2026-10-24

浏览:406

本文解析JavaScript中this指针在不同执行环境下的指向规则。全局环境中this指向window;普通函数调用时若未绑定对象则指向window,作为对象方法时指向该对象;通过new调用时指向新创建的对象实例。

文章目录

JavaScript this指针指向规则

在全局执行环境中使用this,它标识的是Global对象,在浏览器环境下具体表现为window对象。


当在函数执行环境中使用this时,如果该函数没有明显作为非window对象的属性,而仅仅是被定义(无论是否嵌套在另一个函数中),此时函数内的this仍然指向window对象。但如果函数是显式地作为某个非window对象的属性被调用,那么函数中的this就代表该对象本身。


相关代码示例如下:

 
var o=new Object;
o.func=function()
{ 
alert((this===o));
(function(){
alert((this===window));
} 
)(); 
} 
o.func();

当通过new运算符来调用函数时,该函数被视为构造函数,此时this指向由构造函数创建出来的新对象。



更详细的可以参考


Javascript this指针

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章