共被编辑 1 次

版本 更新时间 贡献者 编辑原因 操作
#r1 2017年11月27日 bowenzhao55 创建问题 查看

为什么这里的this不同

在撸代码的时候遇见这个问题了。各位大神请帮我看下。谢谢了。

(function(){
    var name = 'Tom';
    console.log(this);//window--------------------------(1)
    console.log(this.name);//空-------------------------(2)
})();
var age = "22"
console.log(this);//window------------------------------(3)
console.log(this.age);//22------------------------------(4)

为什么(2)这个地方会输出是空?而不是Tom
为什么(4)这个地方会输出22?
打印出来的this都是window。这两个this有什么不同么?
为什么出现这个情况?
麻烦各位大神指点下。前端小白,感激不尽。