zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    第十一周作业
    第十周作业
    第九周编程
    第十二周作业
    第十一周作业
    第十周作业
    第八周作业
    第七周作业
    第五周作业
    2019春季学期第四周作业
  • 原文地址:https://www.cnblogs.com/windcat/p/12740372.html
Copyright © 2011-2022 走看看