在以下构造中:
(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
全局对象的属性吗?
另外,即使我var h = ...
在开头使用 put :
var h = (function(){
var x = function(){
alert('hi!');
}
var y = function(){
alert("hi again!");
}
this.show = function(){
alert("This is show function!");
}
})();
this
仍然指的是窗口对象——我可以show()
从全局范围内调用!怎么会?