최근 리팩토링을 하다가 네임스페이스 설정을 발견하고, 지식을 검색하고, 전문가와 상담하고, 경험을 적어보았습니다
창이 최고라는 것은 다들 아실 거라 믿어서 창에 대해서는 쓰지 않겠습니다. 여기에서는 무시하세요.
1: 최상위 수준 정보
var ns = ns || 보시다시피 실제로 해당 객체가 없는 것으로 확인되면 new Object() 자동으로 생성되며, 있는 경우 이 개체가 직접 사용되므로 다루지 않습니다.
2: 두 번째 레벨
물론 최상위 ns 아래에 두 번째 레벨, 즉
보시다시피 ns 아래에 클래스가 생성됩니다. , 클래스에서 메소드를 계속 생성할 수도 있습니다. 즉,
3: 이 com.qw와 같은 다중 레벨
을 수행하는 방법. view에서 네임스페이스로 설정하고 싶은데, 각각 필요합니다. 점으로 구분된 이름을 사용하여 네임스페이스를 별도로 설정하는데,
객체에 설정되어 있습니다. 예시를 보고 아래에 설정해 보겠습니다. window:
함수 네임스페이스(sSpace ) {
var arr = sSpace.split('.'),i = 0,nameI ;
var root = window;
for (; nameI = arr[i ];) {
if (!root[nameI]) {
root[nameI] = {};
}
root = root[nameI];
}
return root;
}
순회를 사용하여 분리된 모든 객체를 객체로 설정하여 분리된 각 객체를 독립적으로 사용할 수 있도록 하는 것이 위에서 언급한 아이디어라는 것을 알 수 있습니다.
4: 일반적으로 사용되는
목록과 네임스페이스를 간단하고 빠르게 설정하기 위한 몇 가지 팁
if (!window.ns) {
window.ns = {};
}
var
if( typeof ns == "정의되지 않음"){
ns = {};
}
if(typeof ns.ClassName == "정의되지 않음"){
ns.ClassName = {};
}