设计模式-单例模式
Posted yzyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-单例模式相关的知识,希望对你有一定的参考价值。
class Test{//只需要new 一次 并且在内部完成
constructor(name){
this.name = name
}
showName(){
alert(`name: ${this.name}`)
}
}
Test.aa = (function(){//定义一个静态方法 在内部new 出上面的实例
let a
return function(){
if(!a){
a = new Test('chenchen')
}
return a
}
})()
let obj1 = Test.aa()
obj1.showName()
let obj2 = Test.aa()
obj2.showName()
console.log('obj1 === obj2:', obj1 === obj2 )//true
console.log('----分割线----')
let obj3 = new Test('chengcheng')
obj3.showName()
console.log('obj1 === obj3:', obj1 === obj3 ) //false 多次new出来的实例对象不等
以上是关于设计模式-单例模式的主要内容,如果未能解决你的问题,请参考以下文章