【发布时间】:2011-12-01 00:16:09
【问题描述】:
在以下构造中:
(function(){
var x = function(){
alert('hi!');
}
var y = function(){
alert("hi again!");
}
this.show = function(){
alert("This is show function!");
}
})();
为什么this 引用window 对象? IIFE 中的所有内容都应该与全局范围隔离吗? x 和 y 函数也是 window 全局对象的属性吗?
另外,即使我在开头使用 put var h = ...:
var h = (function(){
var x = function(){
alert('hi!');
}
var y = function(){
alert("hi again!");
}
this.show = function(){
alert("This is show function!");
}
})();
this 仍然指的是窗口对象——我可以在全局范围内调用show()!怎么会?
【问题讨论】:
标签: javascript this iife