欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Javascript 命名空间模式_javascript技巧

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

复制代码 代码如下:

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
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.对单全局变量的依赖性,即任何代码都可以修改该全局实例,其他代码将获得修改后的实例。

相关标签: 命名空间