Javascript에서 자체 실행되는 익명 함수
형식:
(function(){ //代码 })();
설명: 이것은 매우 우아한 코드입니다(처음 보면 혼란스러울 수 있습니다 :)). 함수(function(){})를 둘러싸는 첫 번째 괄호 쌍은 이름이 지정되지 않은 함수를 스크립트에 반환합니다. 다음 빈 괄호 쌍은 반환된 이름 없는 함수를 즉시 실행하며 괄호 안의 매개 변수는 익명 함수의 매개 변수입니다.
매개변수를 사용하여 예를 들어보겠습니다.
(function(arg){ alert(arg+100); })(20); // 这个例子返回120。
중요한 용도: 이 특수 함수 래퍼에 모든 코드를 작성하는 한 이를 사용하여 네임스페이스를 생성할 수 있습니다.
(function(){ function $(id){ return document.getElementById(id); } function __addClass(id,className,classValue){ $(id).style.className=classValue; } window['mySpace']={}; window['mySpace']['addClass']=__addClass; })();
위의 예에서는 이 의사 네임스페이스를 사용하여 모든 함수, 개체 및 변수를 캡슐화하고 보호할 수 있습니다. 그리고 같은 기능을 갖고 있기 때문에 서로 참조할 수 있습니다. 보호된 코드를 전역화하기 위해 후속 괄호 쌍은 반환된 익명 함수를 즉시 실행하고 실행 중에 __addClass()를 window의 메서드에 할당하여 addClass만 외부에서 실행될 수 있도록 브라우저에 지시합니다. 다음과 같이 호출할 수 있습니다: mySpace.addClass('oneId','font-width','bold')