当前位置:首页 > 前端 > 正文

js单体模式

// 单体模式:保证一个特定的类仅有一个实例,js中使用对象字面量创建的对象就是一个单体的实例 let obj = {     name: ‘‘ }; let obj2 = {     name: ‘‘ }; console.log(obj === obj2); //false function ObjData(name) {     this.name = name; }; let person = new ObjData(‘‘); let person1 = new ObjData(‘‘); console.log(person === person1);// false 构造函数实例化出来是两个对象而不是一个
// 改造构造函数实现单体模式 function Animal(name) {     if(typeof Animal.status === ‘object‘) return Animal.status;     this.name = name;     Animal.status = this;     return this; } let cat = new Animal(‘猫‘); let dog = new Animal(‘狗‘); console.log(cat === dog); // true