把描述同一个对象的属性和方法放在一个内存空间下,起到了分组作用,这样不同事物之间的属性即使属相名相同,相互也不会发生冲突.我们把这种分组编写代码的模式叫.做"单例模式".
例如:var person1 = { var person2 = {
name: '李四', name: '张三',
age: '17' age: '18'
} }
在单例模式下,person1和person2叫做"命名空间"
单例模式是项目开发中经常使用的一种模式,因为在项目开发中我们可以使用单例模式来进行"模块式开发".
模块式开发:对于一个比较大的项目来说,需要多人协作进行开发,我们会根据当前项目的需求划分为几个功能模块,每人负责一部分,同时进行开发,最后把每个人的代码进行合并.
例如:
//公共模块->一般由一个项目的大神来写
var utils = {
select:function(){
}
} ;
//页卡模块中的change->实现选项卡切换
var tabRender = {
change:function(){
// 调用公共模块的方法
utils.selector();
}
} ;
//搜索模块中的change->搜索内容变化处理
var searchRender = {
change:function(){
// 自身中调用自己的方法,一般使用this
this.change()
}
} ;
单例模式的缺点:不能实现批量生产 ,复用性差,冗余度高,可扩展性差