手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >关于JavaScript命名空间的一些心得
关于JavaScript命名空间的一些心得
摘要:最近重构东西,碰到命名空间的设定,搜了一些知识,请教了一些高手,把自己的心得写下来相信大家都知道,window是顶级的,这里就不写windo...

最近重构东西,碰到命名空间的设定,搜了一些知识,请教了一些高手,把自己的心得写下来

相信大家都知道,window是顶级的,这里就不写window了,先忽略

1:关于顶级

复制代码 代码如下:var ns = ns || {};

可以看到,其实就是如果发现没有这个对象,就自动创建new Object();如果有,就直接使用这个对象,这样就不会覆盖。

2: 第二级,当然也可以在顶级的ns下创建第二级,即

复制代码 代码如下:ns.ModuleClass = {};

可以看到,在ns下创建了一个类,当然也可以继续创建类里的方法,即是这种:

复制代码 代码如下:ns.ModuleClass.method1= function() {////};

3:多级应该怎么做呢,比如这种com.qw.view,我想把他设成一个命名空间,这就要对每一个点分隔的名称进行分别设置命名空间,分别设成对象

我们看一个例子,把他设置在window下:

复制代码 代码如下:

function namespace(sSpace) {

var arr = sSpace.split('.'),i = 0,nameI;

var root = window;

for (; nameI = arr[i++];) {

if (!root[nameI]) {

root[nameI] = {};

}

root = root[nameI];

}

return root;

}

可以看到确实是我上面说的思路,用了一个遍历,把分隔的全部设成对象,这样每个分隔的都可以单独用。

4:列一下常用的,简单快捷的设置命名空间的小技巧吧

复制代码 代码如下:

if (!window.ns) {

window.ns = {};

}

var ns;

if(typeof ns == "undefined"){

ns = {};

}

if(typeof ns.ClassName == "undefined"){

ns.ClassName = {};

}

【关于JavaScript命名空间的一些心得】相关文章:

JavaScript窗口功能指南之在窗口中书写内容

JavaScript版代码高亮

JavaScript函数使用的基本教程

深入理解JavaScript中的对象

JavaScript中指定函数名称的相关方法

JavaScript的RequireJS库入门指南

JavaScript中的this机制

JavaScript事件的理解

JavaScript容易犯错的九个陷阱

精通JavaScript的this关键字

精品推荐
分类导航