자바 스크립트에서 다음 코드와 혼동 스러웠습니다.IIFE를 변수에 할당 할 때 IIFE는 어떻게 작동합니까?
var x=(function(){
var customObject = function(){};
customObject.prototype.sayHello=function(){
alert("hello");
};
return customObject;
})();
//var y=new x();// If I uncomment this line and comment the next line "var
//y=x;" the code works
var y=x;
y.sayHello();
이 코드는 인사하지 않지만 댓글을 제거 할 때 수행합니다. 나는 그것이 정의 된 직후에 IIFE가 실행된다는 것을 읽었다. 따라서 customObject를 x에 직접 할당해야합니다.
제 질문은 왜 안녕하세요라고 말하기 위해 x의 새 인스턴스를 만들어야하는지입니다. IIFE가 어떻게 작동하는지는 분명하지 않습니다.
이 개념을 이해하도록 도와주세요. 미리 감사드립니다 :-).
IIFE는'customObject'를 반환합니다. 'customObject'는 새로운 인스턴스를 생성하기 위해'new'와 함께 호출되어야하는 생성자 함수입니다. IIFE는 그렇게하지 않을 것입니다. * "IIFE를 변수에 할당 할 때 IIFE가 어떻게 작동합니까?"* 변수에 IIFE를 할당하지 않습니다. IIFE의 * 반환 값 *을 변수에 할당합니다. IIFE는 단지 함수 호출 일뿐입니다. 특별한 것은 없습니다. –