当前位置:Gxlcms > JavaScript > Javascript命名空间模式_javascript技巧

Javascript命名空间模式_javascript技巧

时间:2021-07-01 10:21:17 帮助过:37人阅读

然而,在不同的文件中给一个命名空间添加属性的时候,首先要保证这个命名空间是已经存在的,同时不对已有的命名空间造成任何破坏。可以通过非破坏性的命名空间函数实现:

代码如下:

var KUI = KUI || {};
KUI.utils = KUI.utils || {};

KUI.utils.namespace = function(ns){
var parts = ns.split("."),
object = KUI,
i, len;

if(parts[0] === "KUI"){
parts = parts.slice(1);
}

for(i = 0, len = parts.length; i < len; i+=1){

if(!object[parts[i]]){
object[parts[i]] = {};
}

object = object[parts[i]];
}

return object;
};

用法:

代码如下:

KUI.utils.namespace("KUI.common");
KUI.utils.namespace("KUI.common.testing");
KUI.utils.namespace("KUI.modules.function.plugins");
KUI.utils.namespace("format");

看一下经过上述后KUI都有什么:

代码如下:

{
"utils": {},
"common": {
"testing": {}
},
"modules": {
"function": {
"plugins": {}
}
},
"format": {}
}

命名空间模式的缺点

1.需要输入更长的字符,并且需要更长的解析时间;
2.对单全局变量的依赖性,即任何代码都可以修改该全局实例,其他代码将获得修改后的实例。

人气教程排行