(五)不可不说的JS重点知识~~~单例模式(测试小姐姐专题)

1,075 阅读2分钟
**我们一起,每天进步一点。日积月累,有朝一日定会,厚积薄发。**

(一)不可不说的JS重点知识~立即执行函数

(二)不可不说的JS重点知识~节流和防抖(测试小姐姐专题)

(三)不可不说的JS重点知识~递归和尾递归(测试小姐姐专题)

(四)不可不说的JS重点知识~闭包(测试小姐姐专题)

(五)javaScript重点知识~~~单例模式(测试小姐姐专题)

       为了让小姐姐的心里只有我,不受其他小哥哥的干扰。我们想到了采用闭包的思想,采取了很多措施。但是闭包有一个特性:可以new 出好多对象(小哥哥),每个对象都有自己的内存地址。具体来说,就是这些小哥哥都会在测试小姐姐的心里占据一定的位置。
      怎么才能在测试小姐姐的心里(内存中),new 出来的对象 始终不变呢?让小姐姐每次想到的只有我一个人。这时,我想到了单例模式,让小姐姐的心里(内存)new对象的时候,先判断一下,我在她心里是最合适最喜欢的人。然后她就不会new其他的对象了。

一.认识一下单例模式

      单利模式:单例就是保证一个类只有一个实例。总而言之就是:在小姐姐的心里有一个男朋友类,这个类new 出来的对象只能是我。

二.使用场景

       购物车(和登录框类似)
       温馨提示框(loading加载)
       ......

三.编码实践

1.写法one

let createLoginWindow = function(title) 
{  
    this.title= title;  this.init();
}
createLoginWindow.prototype.init = function() { 
     // some code
}
let proxySingleton = (function() {  
    var instance;  return function(title) {  
    if (!instance) {    
         instance = new createLoginWindow(title);   
    }    return instance; 
}})();
let boyFriend_01 = new proxySingleton('和小哥哥逛街');let boyFriend_02 = new proxySingleton('和小哥哥吃饭');console.log(boyFriend_01 === boyFriend_02); // true

2.写法two

const log = console.log;
let Xiaojiejie = (()=>{
    let _instance = null;
    //一个待实例化的类
    function _module(){
        this.name = '张三丰小哥哥';
        this.callLeader = ()=>{
            return 'The Leader Is ' + this.name;
        }
        this.setLeader = (name) => {
            this.name = name;
        }
    }
    return {
        getInstance:()=>{
            if(!_instance){
                _instance = new _module();
            }
            return _instance;
        }
    }
})();
let boyFriend_01 = Xiaojiejie.getInstance();
leader_01.setLeader('hhh');

let boyFriend_02 = Xiaojiejie.getInstance();log(boyFriend_02.callLeader())
log(boyFriend_01 === boyFriend_02);   //true
真是数风流人物还看今朝。为了追测试小姐姐,我使用了“节流”、“防抖”、“递归”、“闭包”等编程思维,并把这些思想运用到现实生活中。

最后,通过使用单例模式,和测试小姐姐忠终成眷属。

《沁园春·把我身心》

把我身心,为伊烦恼,算天便知。

恨一回相见,百方作计,未能偎倚,早觅东西。

镜里拈花,水中捉月,觑著无由得近伊。

添憔悴,镇花销翠减,玉瘦香肌。

奴儿。又有行期。

你去即无妨我共谁。

向眼前常见,心犹未足,怎生禁得,真个分离。

地角天涯,我随君去。

掘井为盟无改移。

君须是,做些儿相度,莫待临时。