(function(){...}()) 및 (function () {...})()

3554 단어
(function(){
        ......
  }())
또는
 (function(){   
        ......
  })()
 
익명 함수는 스스로 호출된다. 즉, 익명 함수를 정의하고 바로 호출한다.이 익명 함수의 함수체는 익명의 이름 공간을 제공하는 것과 맞기 때문에 사용자가 정의한 JS 함수, 변수, 대상과 충돌하지 않고 이름 공간 문제를 해결하는 좋은 방법이다.
 
예를 들면 json2.js
(function () {

    function f(n) {
        // Format integers to have at least two digits.
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !== 'function') {

        Date.prototype.toJSON = function (key) {

            return isFinite(this.valueOf()) ?
                   this.getUTCFullYear()   + '-' +
                 f(this.getUTCMonth() + 1) + '-' +
                 f(this.getUTCDate())      + 'T' +
                 f(this.getUTCHours())     + ':' +
                 f(this.getUTCMinutes())   + ':' +
                 f(this.getUTCSeconds())   + 'Z' : null;
        };

        String.prototype.toJSON =
        Number.prototype.toJSON =
        Boolean.prototype.toJSON = function (key) {
            return this.valueOf();
        };
    }

    ......
}());

예를 들면 jquery.js
(function( window, undefined ) {

     .....
  
})(window);

좋은 웹페이지 즐겨찾기