介绍
单例就是保证一个类只有一个实例,实例的方法一般先判断实例是否存在,如果存在直接返回出来,如果不存在就先创建了再返回出来。这就可以保证一个类只有一个实例。在JS中,单例是一个命名空间的提供者,从命名空间里提供唯一的访问点来访问该对象。
实现方式
单例一般用在系统间各种模式的通信协调上,下面代码是单例的实践
let Single = (function(){
// 参数:传递给单例一个参数集合
function Signleton(args){
let args = args || {}
this.name = 'Signle'
this.pointX = args.pointX || 6
this.pointY = args.pointY || 10
}
let instance // 实例容器
let _static = {
name:'Signle',
// 获取实例的方法
// 返回Signleton实例
getInstance:function(args){
if(!instance){
instance = Signleton(args) // 没有就创建一个
}
return instance // 有就直接return出来拿到
}
}
return _static
})()
let s = Single.getInstance({pointX:7})
console.log(s.pointX) // 7
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZengXPang's blog!
评论