850 B
Executable File
850 B
Executable File
单例模式
定义:单例模式指的是保证一个类仅有一个实例,且提供一个访问它的全局访问点。全局缓存,
window
对象,都可以看作是一个单例。
目的: 解决一个全局使用的类频繁地创建与销毁
使用ES6 class 创建单例:
class Instance {
static init () {
if (!this.instance) {
this.instance = new Instance()
}
return this.instance;
}
}
const instance1 = Instance.init()
const instance2 = Instance.init()
console.log(instance1 === instance2) //true
使用闭包创建单例:
const instance = (function() {
let instance = null;
return function(name) {
if (!instance) {
instance = new Singleton(name)
}
return instance;
}
}())