方式1:
var mainNS={};
mainNS.Person = {
id:
name:
$d:$('#s1');
fn1:
fn2:function(){
$d.bind('click',function(){
...
});
}
}
//调用
mainNS.Person.fn2();
方式2:
(function(){
var _NS = function(){
var m=0;
};
_NS.prototype.alert = function(){
console.log(arguments[0]||'aaa');
}
_NS.prototype.getName = function(){
console.log(m);
}
_NS.prototype.setName = function(_name){
m=_name;
}
window.NS = new _NS();
})();
//调用
NS.setName('Victor');
中和简化写法:
<script>
var NameSpace = window.NameSpace || {};
NameSpace.Hello = new function() {
var name = 'world';
this.sayHello = function(_name) {
console.log('Hello ' + (_name || name));
};
this.setDisplay = function(){
console.log('display:block');
}
};
NameSpace.Hello.sayHello('alice');
</script>
<script>
NameSpace.Hello.sayHello('Lucy');
</script>
<script>
NameSpace.Hello.sayHello();
</script>
<script>
NameSpace.Hello.setDisplay();
</script>

本文介绍三种JavaScript中定义命名空间的方法:对象字面量、构造函数和立即执行函数。通过实例展示了如何使用这些方法来组织代码并避免全局作用域污染。
1万+

被折叠的 条评论
为什么被折叠?



