代码描述:javascript命名空间。javascript命名空间实例代码
在当前的ECMAScript标准中,并没有命名空间这个概念,但是有时候在写类库的时候,命名空间这种代码组织形式又显得相当重要,因为它可以有效的组织代码,并且无需定义不必要的全局函数或者变量,下面就通过代码实例介绍一下如何在javascript模拟实现命名空间功能,先看一段代码实例:
<script> var nameSpace = {}; nameSpace.info = {}; nameSpace.info.Antzone = function(name) { //私有成员 var _name = name; //访问器 this.getName = function() { return _name; }; this.setName = function(name) { _name = name; }; }; //原型 nameSpace.info.Antzone.prototype = { done:function() { console.log(this.getName()+"分享互助"); } }; var antzone=new nameSpace.info.Antzone("51前端"); antzone.done(); <、script>
以上代码就是模拟c#或者java中的命名空间效果。从代码中可以可以体会出命名空间的功效,这样可以有效的避免一些全局性变量的或者函数的重名等等其他副作用,组织代码也更为遍历,也便于多库共存。 补充说明: 上面的代码模拟实现命名空间功效,但是还是不够完美,因为这个命名空间的引用实在太冗长了,那么我们可以给他取一个别名,这样更为方便一些,代码如下:
<script> var ns=nameSpace.info; var antzone=new ns.Antzone("51前端"); antzone.done(); </script>
以上代码是不是看起更为简洁一些,在引用相关内容的时候可以节省一些体力。 判断命名空间是否存在: 如果当前js代码非常庞大的时候,可能会出现命名空间重复的情况,这往往并不是我们愿意看到的,所以最好事先判断一下指定的命名空间是否存在,代码如下:
<script> if(!nameSpace){ var nameSpace={}; nameSpace.info={} } else{ if(!nameSpace.info){ nameSpace.info={} } } </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能