命名空间
管理变量,防止污染全局,适用于模块化开发
1. 前缀后缀
为了防止变量名,函数名,类名和其他人的冲突,最开始的方法是在名字上加前缀后缀,这样可读性不高。
2. 命名空间法
//命名空间org
var org = { //定义对象
department1 : {
jicheng : { //用对象的方式在相应的部分定义自己的变量
name : 'abc',
age : 123
},
xvming : {
name : 'bcd',
age : 456
}
},
department2 : {
zhangsan : {
},
lisi : {
}
}
}
console.log(org.department1.jicheng.name);
var jicheng = org.department1.jicheng;
console.log(jicheng.name);
3. 利用闭包
命名空间的使用依旧比较麻烦,现在也不常使用,而在实际开发中,为了防止变量冲突,或污染全局变量,经常会利用闭包的性质。
var name = 'abc';
var init = (function () {
var name = 'bcd';
function callName() {
console.log(name);
}
return function() {
callName();
}
}())
var initDeng = (function () {
var name = 'deng';
function callName() {
console.log(name);
}
return function () {
callName();
}
}())
init();