首先,JavaScript里没有namespace关键字用于声明命名空间。如果在NodeJS有模块的概念,但在浏览器下因为I/O的问题不能require加载模块,只能使用script标签一下加载所有脚本,当然也有一些插件实现了浏览器端require的做法。
为了避免编写大型项目造成混乱,通常都是采用面向对象的方式组织代码结构,将属性,方法放入一个对象中。如以下代码
var dog = {
name: 'Petty',
sayName: function () {
console.log(this.name);
}
}
dog.sayName();
设置,还有多级组织模式,如
var animals = {
dog: {
name: 'Petty',
sayName: function () {
console.log(this.name);
}
},
cat: {
name: 'Tom',
sayName: function () {
console.log(this.name);
}
}
}
animals.dog.sayName();
animals.cat.sayName();
采用对象的方式组织方法属性,使用单一入口设计模式避免全局变量污染,是绝大多数程序的一种设计模式。