나는 자바 스크립트 안돼서, 나는 네임 스페이스 지정을 위해 다음과 같은 계획을 마련했습니다Javascript 네임 스페이스 -이 특별한 방법은 우수 사례입니까?
(function() {
var ns = Company.namespace("Company.Site.Module");
ns.MyClass = function() { .... };
ns.MyClass.prototype.coolFunction = function() { ... };
})();
Company.namespace 단순히 모듈까지 개체의 체인을 생성하는 스크립트를 사용하여 등록하는 기능입니다. 비 전역 범위에서
외부 :
var my = new Company.Site.Module.MyClass();
나는 특히 내가 전역에서 변수 ns
을 숨길 수있는 방법에 대해 부탁 해요 - 즉시 실행되는 포장 익명 함수에 의해. 나는 도처에 Company.Site.Module
를 쓸 수 있었지만 DRY가 아니었고 지역 변수에 ns를 저장하는 것과 비교하면 조금 지저분했다.
당신의 의견은 무엇입니까? 이 접근법에는 어떤 함정이 있습니까? 표준으로 여겨지는 다른 방법이 있습니까?
을 할 수있는 범위를 전역 변수에 필요한 경우
에 대한 리터럴 객체를 사용 있습니다 @ pimvdb 멋진 아이디어,하지만 그것은 여러 가지로 이상하게 보일 것입니다 클래스 및 메서드에 대한 확장 ... – Max