本章节介绍一下javascript如何创建模拟的命名空间,因为js中确实没有命名空间这个概念。

在此不对命名空间的概念和作用作介绍,具体可以参阅javascript命名空间实例介绍一章节,下面介绍一下如何创建一个命名空间。 

命名空间可以是一级,也可以是多级。

一.创建顶级命名空间:
   [ 其他 ] 运行代码    下载代码
<script>
var ns = ns || {};
</script>
如果已经存在命名空间ns,那么就是使用它,如果不存在,那么就会创建一个空的对象直接量作为命名空间,这样可以防止原有的命名空间被覆盖。

二.创建二级命名空间:

创建一级命名空间之后,也可以在此基础上再创建二级命名空间,当然也可以依次类推。

代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
ns.Antzone = {};
</script>
既然创建了命名空间,我们就可以在它的下面添加一些相关内容,比如方法,代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
var ns = ns || {};ns.Antzone = {};
ns.Antzone.func=function(){
  console.log("51前端");
}
ns.Antzone.func();
</script>
三.封装创建命名空间:

如果需要多级命名空间,如果这么一级级的手动创建,比较繁琐,可以将创建过程封装起来。

代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
function namespace(nsStr) {
  var arr=nsStr.split('.')
  var i=0
  var nameI;
  var root=window;
  for(;nameI=arr[i++];){
    if(!root[nameI]){
      root[nameI]={};
    }
    root=root[nameI];
  }
  return root;
}
var str="ns.Antzone";
var nameSpace=namespace(str);
nameSpace.func=function(){
  console.log("51前端");
}
nameSpace.func();
ns.Antzone.func();
</script>

代码描述:javascript创建命名空间。javascript创建命名空间简单介绍



130 173



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到