作用:
保证一个类只有一个实例,并且提供一个全局的访问位置。
可以用来实现全局的一些状态管理或者独一无二的数据
示例:
javascript
class Wjt{
constructor(name,idNumber,gender){
this.name = name
this.idNumber = idNumber
this.gender = gender
}
//可以直接使用Wjt调用的静态方法
static getInstance(name,idNumber,gender){
if(!this.instance){
this.instance = new Wjt(name,idNumber,gender)
}
return this.instance
}
}
//王惊涛注册户籍
const wjt1 = Wjt.getInstance('王惊涛','123456789','man')
//再次注册户籍
const wjt2 = Wjt.getInstance('新惊涛','987654321','man')
console.log(wjt1,'wjt1')
console.log(wjt2,'wjt2')
console.log(wjt1 === wjt2) //true
//第一次已经注册成功了,instance已经有了固定的值,wjt已经存在于这个世界上了,且是唯一不可变的,所以用单例模式