2010-08-17 2 views
1

두 가지 유형의 네임 스페이스 선언의 차이점은 무엇입니까? 첫 번째 것이 두 번째 것보다 더 좋습니까?JavaScript 네임 스페이스 선언의 차이점

var build = { 
    init: function(){ 
     this.attachEvents(); 
    } 
}; 

$(document).ready(function() { 
     build.init(); 
}); 

답변

3

(function($) 
{ 
    $.build = { 
     init: function() 
     { 
      this.attachEvents(); 
     } 
    } 
} 

$(document).ready(function() { 
     $.build.init(); 
    }); 
})(jQuery); 

는 두 가지 실제적인 차이가 있습니다. 첫 번째 변수는 외부에서 액세스 할 수있는 변수를 추가로 만들지 않으며 함수 외부에 인 $에 종속되지 않습니다. 두 번째 변수는 build 변수를 생성하며 $jQuery입니다.

2

두 가지 모두 좋지만 첫 번째 방법은 jQuery가 다른 라이브러리에서 안전하게 재생할 수 있다는 장점이 있습니다. $로 선언 된 다른 변수와 충돌하지 않습니다.

관련 문제