首页 新闻 会员 周边

关于javascript中的this问题?

0
[已解决问题] 解决于 2012-09-03 12:50

代码如下:

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本身么?

草根程序猿的主页 草根程序猿 | 初学一级 | 园豆:129
提问于:2012-09-03 10:43
< >
分享
最佳答案
0

个人愚见:

直接调用 test(); this 指向的是 window 对象

new 后,改变了 test 的 this 指向,这时 this 是 该对象的一个 实例了,

this.constructor == test // true 

奖励园豆:5
张坤 | 小虾三级 |园豆:1865 | 2012-09-03 12:15
其他回答(1)
0
Chengbo_X | 园豆:199 (初学一级) | 2018-10-16 00:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册