单例模式

单例模式是只允许实例化一次的对象类,用一个对象来规划一个命名空间,以便有序的管理对象上的属性和方法,避免全局变量的污染。

其实任何时候我们都可以用单例来管理我们的代码,场景如下:

1.我们在开发中会写许多方法,这里罗列2个做个样子,代码如下

function getId(){
	var args = arguments;
	if(args.length > 1){
		throw new Error('只允许接收一个参数');
	}else{
		return document.getElementById(args[0]);
	}
}

function setHtml(id,text){
	document.getElementById(id).innerHTML = text;
}

2.实际上我们创建了2个全局变量getId和setHtml,随着方法越来越多,我们的全局变量也会越来越多,代码冲突,命名受限就会突显出来。所以我们用单例来做管理,代码如下:

var myFun = {
	getId : function(){
		var args = arguments;
		if(args.length > 1){
			throw new Error('只允许接收一个参数');
		}else{
			return document.getElementById(args[0]);
		}
	},
	setHtml : function(id,text){
		this.getId(id).innerHTML = text;
	}
}


3.通过上面的方法,我们解决了2个问题,一个全局变量只有一个,我们可以通过.的形式来获取对应的方法;
这就是所谓的单例模式


posted @ 2018-04-13 10:41  双桨lovening  阅读(101)  评论(0编辑  收藏  举报