定义
保证一个类只有一个实例,并提供一个访问它的全局访问点
常见场景
- 线程池
- 全局缓存
- 浏览器中的 window 对象
最简单的单例就是全局创建一个
var a = {};
使用类创建一个单例对象
var Single = function (name) {
this.name = name;
};
Single.prototype.getName = function () {
return this.name;
};
Single.createInstance = (function () {
var instance = null;
return function (...args) {
if (!instance) {
instance = new Single(...args);
}
return instance;
};
})();
var a = Single.createInstance("地球");
var b = Single.createInstance("月球");
console.log(a === b); // 引用相同