js에서 함수는 종종 임시 네임스페이스로 정의됩니다. 이 네임스페이스에 정의된 변수는 전역 네임스페이스를 오염시키지 않습니다(로컬 변수와 전역 변수 간의 충돌을 방지하기 위해).
function mymodule(){
/ /module code
}
mymodule();
은 다음과 같이 축약될 수 있습니다:
(function(){ //mymodule() 함수를 익명 함수 표현식으로 다시 작성합니다.
//모듈 코드
}( ) ); //함수 정의를 종료하고 즉시 호출
또는:
(function(){
}) ();
익명 함수를 정의하고 즉시 호출하는(익명 함수 자체 호출) 방식은 매우 편리해졌습니다. jquery의 소스 코드는 다음과 같습니다. 작성:
(function( window, undefine ) {
//jquery의 모든 코드
})( window );