를 발행 :인생 컨텍스트는 다음과 같은 구조에서
(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 = ...
을 넣어 :
var h = (function(){
var x = function(){
alert('hi!');
}
var y = function(){
alert("hi again!");
}
this.show = function(){
alert("This is show function!");
}
})();
this
는 여전히 윈도우 객체를 참조 - 난 그냥 전역에서 show()
를 호출 할 수 있습니다! 어째서?
유효한 사례는 IIFE에서 "this"를 콜백을 만드는 다른 개체에 전달해야하는 경우입니다. – AndroidDev