通过js的命名空间可以实现对于自己定义的函数或者对象的封装。
js并没有像是c++,java那样自带命名空间,其所谓的命名空间是通过作用域+匿名函数来实现的,从而可以对自己的函数代码进行一定的封装,而不用害怕发生重定义等等情况。通过js命名空间,可以去自定义自己的函数库,从而有效的进行封装和规划。
js命名空间示例代码:
<input type="button" value="test" onclick="NS.alert();"/> <script type="text/javascript"> (function namespace(){ this.alert=function(){ console.log('test'); } window.NS=this; })(); </script>
这样只需要在外部调用NS.alert()即可;
通过prototype来进行内部函数的定义:
(function(){ var _NS=function(){ } _NS.prototype.alert=function(){ console.log('test'); } window.NS=new _NS(); })();