Feb 25

javascript中实现命名空间

Javascript
javascript本身不支持命名空间,但是我们可以模拟它
例如,要创建一个名为 arc90.components 命名空间,我们首先定义一个空对象arc90:

arc90 = {}


如果叫做arc90的对象已经存在,我们需要先检查一下,然后创建一个空对象:

if (typeof(arc90) == "undefined")  
arc90 = {}  


现在arc90是作为对象的定义,我们可以继续定义名字空间,arc90.components:

if (typeof(arc90.components) == "undefined")  
arc90.components = {} 


现在我们将创建一个函数,一个命名空间对象的传递,调用:

var alias = createNamespace("arc90.components"); 


现在我们要定义一个新的对象 复选框:

arc90.components.Checkbox = function() {}  


也可以这样:

alias.Checkbox = function() {}  


现在创建 createNamespace 函数:

function createNamespace(ns)
{
var splitNs = type.split(".");
var builtNs = splitNs[0];
for (i = 0, i  0) ? ("." + splitType[i]) : "";
eval(builtNs + " = typeof(" + builtNs + ") =='undefined' ? {} : " + builtNs + "; ");
}
return eval(ns);    // Return the namespace as an object.
}



tags:

to "javascript中实现命名空间"

Leave a Reply