通过js的命名空间可以实现对于自己定义的函数或者对象的封装。
js并没有像是c++,java那样自带命名空间,其所谓的命名空间是通过作用域+匿名函数来实现的,从而可以对自己的函数代码进行一定的封装,而不用害怕发生重定义等等情况。通过js命名空间,可以去自定义自己的函数库,从而有效的进行封装和规划。
js命名空间示例代码:
<input type="button" value="test" οnclick="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();
})();