通过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(); })();