首页 > 代码库 > 定义js命名空间

定义js命名空间

 var $package=function(ns){
var defineNamespace=function(root,ns){
ns=ns || "";
ns=ns.replace(/\s/g,"");

if (ns.length == 0) {
return root;
}else {
var nsc = ns.substr(0, 1);
if (nsc != nsc.toLowerCase()) {
throw new Error("命名空间首字母必须小写哦~");
}

if (ns.indexOf(".") == -1) {
typeof(root[ns]) != "object" && (root[ns] = {});
return root[ns];
}
else {
var _ns = ns.split(".")[0];
typeof(root[_ns]) != "object" && (root[_ns] = {});
return defineNamespace(root[_ns], ns.replace(/[^\.]*\./, ""));
}
}
};

defineNamespace(window,ns);
};

$package("技术分享com.dd.bb")
技术分享com.dd.bb.cc = "12321";
$package("com.dd.qq")
com.dd.qq.nn = "111";
alert(技术分享com.dd.bb.cc);
alert(com.dd.qq.nn);

定义js命名空间