手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript创建命名空间(namespace)的最简实现
JavaScript创建命名空间(namespace)的最简实现
摘要:最近看Ext源代码,看到了其实现命名空间函数的实现方法:ExtNameSpace实现代码:复制代码代码如下:namespace:functi...

最近看Ext源代码,看到了其实现命名空间函数的实现方法:

ExtNameSpace实现代码:

复制代码 代码如下:

namespace:function(){

vara=arguments,o=null,i,j,d,rt;

for(i=0;i<a.length;++i){

d=a[i].split(".");

rt=d[0];

eval('if(typeof'+rt+'=="undefined"){'+rt+'={};}o='+rt+';');

for(j=1;j<d.length;++j){

o[d[j]]=o[d[j]]||{};

o=o[d[j]];

}

}

}

鄙人喜好最简编程(这很多时候并不是一个好习惯,写的越简单程序一般越难理解),于是就想用更短的方式解决这个问题。

尝试了将近半个小时写下了下面的实现,基本该考虑的情况都考虑,至少不会覆盖页面已经存在的函数。

实现代码如下:

复制代码 代码如下:

functionnamespace(ns){

if(typeof(ns)!="string")return;

ns=ns.split(".");

varo,ni;

for(vari=0,len=ns.length;i<len,ni=ns[i];i++){

try{o=(o?(o[ni]=o[ni]||{}):(eval(ni+"="+ni+"||{}")))}catch(e){o=eval(ni+"={}")}

}

}

你可以保存以下代码进行测试:

测试代码:

复制代码 代码如下:

<scripttype="text/javascript">

<>

</script>

【JavaScript创建命名空间(namespace)的最简实现】相关文章:

JavaScript中的this机制

基于JavaScript实现智能右键菜单

JavaScript中操作字符串之localeCompare()方法的使用

JavaScript中valueOf()方法的使用介绍

JavaScript中的splice()方法使用详解

JavaScript的9种继承实现方式归纳

深入理解JavaScript中的对象

Javascript动态创建表格及删除行列的方法

在JavaScript应用中使用RequireJS来实现延迟加载

javascript模拟评分控件实现方法

精品推荐
分类导航