저는 최근에 많은 JavaScript 코드를 조사해 왔으며 IIFE의 "공용"속성을 할당하는 두 가지 다른 방법을 보았습니다.IIFE의 공용 멤버를 변수에 대입하는 것과 객체를 반환하는 것의 차이점
는제 정도로 같은 인생의 내부 속성에 해당 변수 변수를 생성하고 할당하는 것이다
var public1;
(function(){
var foo= "Foo", bar= "Bar";
public1= {
getFoo: function(){
return foo;
}
};
}());
I 그래서 같이 인생에서 객체를 반환 참조 번째 방법 :
var public2 = (function(){
var foo2= "Foo2", bar2= "Bar2";
return {
getBar: function(){
return bar2;
}
};
}());
이 두 가지 방법간에 근본적인 차이점이 있습니까? 아니면 단지 선호 사항입니까? 나는 또한 당신이 원하는 경우 코드를 실행하거나 업데이트 할 수 있도록 바이올린을 만들었습니다. http://jsfiddle.net/bittersweetryan/gnh79/3/
IIFE = 즉시 Function Expression을 호출합니다. 솔직히이 용어 나 약어에 대해 들어 보지 못했습니다. 나는 * immediate * 또는 * self-invoking 함수가 더 일반적이라고 생각한다. –
@Felix : IIFE에 대해 논의하는 [다음 기사] (http://benalman.com/news/2010/11/immediately-invoked-function-expression/) 및 그 이름의 이유. * "저는 즉시 호출 된 함수 표현식"이라는 용어를 제안합니다. 약어가 마음에 들면 "IIFE"입니다. 함수가 실행 중이더라도 자체 실행중인 함수가 아니기 때문에 "* – user113716
@patrick : 감사합니다, 많이 감사드립니다! 나는 약어의 팬이 아니라고 생각한다.) : D –