최근에 나는 물건을 재구성하고 네임 스페이스 설정을 만났습니다. 나는 몇 가지 지식을 찾고, 전문가들에게 물었고, 내 경험을 적어 두었습니다.
나는 모든 사람들이 그 창이 최고라는 것을 알고 있다고 생각합니다. 그래서 여기에 창을 쓰지 않을 것이므로 먼저 무시할 것입니다.
1 : 상단에 대해
코드 사본은 다음과 같습니다. var ns = ns || {};
그러한 객체가 없다는 것을 알게되면 자동으로 새 개체를 생성합니다 (); 있는 경우이 개체를 직접 사용하여 덮어 쓰지 않도록합니다.
2 : 두 번째 레벨은 물론 최상위 NS에서 두 번째 레벨을 만들 수도 있습니다.
코드 사본은 다음과 같습니다. ns.ModuleClass = {};
클래스가 NS에 따라 생성되며 물론 클래스에서 메소드를 계속 만들 수 있음을 알 수 있습니다. 즉, 다음과 같습니다.
코드 사본은 다음과 같습니다. ns.moduleclass.method1 = function () {////};
3 : com.qw.view와 같은 다중 레벨을 수행하는 방법 . 네임 스페이스로 설정하고 싶습니다. 이를 위해서는 각 포인트 구분 된 이름에 대한 네임 스페이스를 설정하고 객체로 설정해야합니다.
예를 살펴보고 창 아래에 설정합시다.
코드 사본은 다음과 같습니다.
함수 네임 스페이스 (sspace) {
var arr = sspace.split ( '.'), i = 0, namei;
var root = 창;
for (; namei = arr [i ++];) {
if (! root [namei]) {
루트 [namei] = {};
}
root = root [namei];
}
리턴 루트;
}
당신은 그것이 실제로 위에서 언급 한 것임을 알 수 있습니다. 나는 트래버스를 사용하여 분리 된 모든 것을 물체로 설정하여 각 분리 된 것을 별도로 사용할 수 있도록했습니다.
4 : 네임 스페이스 설정에 일반적으로 사용되는 간단하고 빠른 팁을 나열하십시오.
코드 사본은 다음과 같습니다.
if (! window.ns) {
Window.ns = {};
}
var ns;
if (typeof ns == "undefined") {
ns = {};
}
if (typeof ns.className == "undefined") {
ns.className = {};
}