8.第二篇:第8章 單例模式

本文摘自 《JavaScript 設計模式》張容銘 著 版權(quán)歸原作者所有

// 類似jquery的方式,把變量方法都封裝起來,只暴露一個命名對象出來。
var fn = {
    a:function(){
        console.log(a);
    }
    c:function(){
        return this.a();
    }
};
// 利用單例模式來保存不讓修改的靜態(tài)變量
var Conf = (function(){
  var _conf = {
    "MAX_NUM":100,
    "MIN_NUM":1,
    "COUNT":1000
  }
  // 返回取值器對象
  return {
    // 取值器方法
    get:function(name){
      return conf[name] ? conf[name] : null;
    }
  }
})();
var a = Conf.get('MAX_NUM');
console.log(a);// 100
// 靜態(tài)變量的惰性單例
var LazyS = (function(){
  // 單例實例引用
  var _i = null;
  // 單例
  function S(){
    // 定義私有屬性和方法
    return {
      publicMethod:function(){},
      publicProperty:‘1.0’
    }
  }
  // 獲取單例對象接口
  return function(){
    if(!_i){
      _i == S();
    }
  return _i;
  }
})();
var a = lazyS();
console.log(a);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容