代码如下:
function test( ) {
console.log(this === window);
console.log(this === test);
}
test();//true false
var a=new test();//false false
为什么用 var a=new test()的方式时,this === test为false呢,有人能帮忙解释一下吗?在这里this指的不是test本身么?
2 回答
九州编程
TA贡献1785条经验 获得超4个赞
个人愚见:
直接调用 test(); this 指向的是 window 对象
new 后,改变了 test 的 this 指向,这时 this 是 该对象的一个 实例了,
this.constructor == test // true
添加回答
举报
0/150
提交
取消