Feb 25
javascript中实现命名空间
Javascript
javascript本身不支持命名空间,但是我们可以模拟它
例如,要创建一个名为 arc90.components 命名空间,我们首先定义一个空对象arc90:
如果叫做arc90的对象已经存在,我们需要先检查一下,然后创建一个空对象:
现在arc90是作为对象的定义,我们可以继续定义名字空间,arc90.components:
现在我们将创建一个函数,一个命名空间对象的传递,调用:
现在我们要定义一个新的对象 复选框:
也可以这样:
现在创建 createNamespace 函数:
例如,要创建一个名为 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.
}
最新评论及回复