设计模式-单例模式
单例,即一个对象只有一个实例,即使实例化多次,拿到的也是同一个实例。
JavaScript中,全局对象就是单例,如:window、document;获取的DOM也是单例的。
单例一个最大的好处就是节省空间,或者说节省资源。
这里有个简单单例实现:
var Singleton = (function() { var instance; return function(name) { if(instance) { return instance; }else { this.name = name; return instance = this; } } })() console.log(new Singleton('a').name);//a console.log(new Singleton('b').name);//a
利用闭包保存独立作用域的特性,在闭包里保存第一次创建的实例,今后每次创建都只返回该实例而不再创建。
当然单例还有很多种实现方式,后面单独补充。
敌人总是会在你最不想它出现的地方出现!