js 命名空间

来源:互联网 发布:铃声剪辑软件 编辑:程序博客网 时间:2024/05/16 18:18


js 是一门灵活性比较大的语言。不存在其他语言常见的namespace、module、private、static 等关键字。

但是,为了防止全局 变量的冲突,可以模拟实现 命名空间。

简单实现是:定义一个

var mySpace = {}
然后,新添加的字段都以属性的形式设置在他上面。

但是,当空间已经存在这个变量的时候,需要检测一下是否存在。

if(typeof mySpace  != 'undefined'){var mySpace = {}}

或者

var mySpace = mySpace || {};

当,写的命名空间很多时,大量的冗余检测就会出现。此时,可以用工具方法实现。

var myApp = myApp||{};myApp.namespace = function(ns_str){  var parts = ns_str.split('.'),parent=myApp,i;  if(parts[0] ==myApp){    parts = parts.slice(1);  }  for(i=0,len=parts.length;i<len;i++){    if(typeof parent[parts[i]]== 'undefined') {      parent[parts[i]] = {};    }    parent = parent[parts[i]];  }  return parent;}



原创粉丝点击