2012-07-25 5 views

답변

7

추가 기능을 사용하면 사용할 수있는 추가 로컬 범위가 제공됩니다 (간단한 예는 아니지만).

(function(x){ 
    var privateFunction = function() {}; 
    var privateCounter = 1; 
    x.newModule = { 
      func: function(){...} 
    }; 
})($$); 
+0

ah yes .. thanks –

+0

또한'x'는'$$ '에 대해 한 문자 만 저장하지만 실제 예제에는'x'와'myNamespace.mySubNamespace.someObject'가있을 수 있으므로 반복적으로 객체를 참조해야하는 경우 한 문자 별칭을 제공하는 여러 메서드 및/또는 속성을 추가하면 코드를 더 깔끔하고 쉽게 읽을 수 있습니다. – nnnnnn

+0

@nnnnnn : 그리고 모듈 작성자는 모듈 사용자와 다른 사람 일 수 있습니다.이 "내보내기"와 유사한 구문을 사용하면 각자 자신이 좋아하는 이름을 선택할 수 있습니다. – Thilo

0

첫 번째 패턴에는 두 번째 패턴에서 불가능한 개인용 메소드와 변수를 사용할 수 있습니다. 그것이 첫 번째 패턴이 우월한 이유입니다.