亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js單例模式詳解實例

2019-11-20 21:37:28
字體:
來源:轉載
供稿:網友

什么是單例?

單例要求一個類有且只有一個實例,提供一個全局的訪問點。因此它要繞過常規的控制器,使其只能有一個實例,供使用者使用,而使用著不關心有幾個實例,因此這是設計者的責任

復制代碼 代碼如下:

In JavaScript, Singletons serve as a shared resource namespace which isolate implementation code from the global namespace so as to provide a single point of access for functions.

在javascript中,單例被當做一個全局的命名空間,提供一個訪問該對象的一個點。

使用場景

復制代碼 代碼如下:

In practice, the Singleton pattern is useful when exactly one object is needed to coordinate others across a system.

單例比較適用于一個對象和其他系統進行交互。

類比

單例有點類似于一個小組的小組長,在一段時間內只有一個小組長,有小組長來指定組員的工作,分配和協調和組員的工作。

實例1:這個是最簡單的單例,通過key,value的形式存儲屬性和方法

復制代碼 代碼如下:

var A = {
   xx:3,
   yy:4,
   B:function(el){

   },
   C:function(el){

   },
   D:function(el){

   },
   E:function(el){

   }
}


實例2:首先創建一個實例的引用,然后判斷這個實例是否存在,如果不存在那么就創建,存在的話,就直接返回,保證有且只有一個。

復制代碼 代碼如下:

var mySingleton = (function () {

// Instance 存儲一個單例實例的引用
var instance;

function init() {

// Singleton

// 私有的方法和變量
function privateMethod(){
    console.log( "I am private" );
}

var privateVariable = "Im also private";

return {

  // 共有的方法和變量
  publicMethod: function () {
    console.log( "The public can see me!" );
  },

  publicProperty: "I am also public"
};

};

return {

// 如果實例不存在,那么創建一個
getInstance: function () {

  if ( !instance ) {
    instance = init();
  }

  return instance;
}

};

})();

var singleA = mySingleton;
var singleB = mySingleton;
console.log( singleA === singleB ); // true

實例3:

復制代碼 代碼如下:

var SingletonTester = (function () {
  // options: an object containing configuration options for the singleton
  // e.g var options = { name: "test", pointX: 5};
  function Singleton( options )  {
    // set options to the options supplied
    // or an empty object if none are provided
    options = options || {};
    // set some properties for our singleton
    this.name = "SingletonTester";
    this.pointX = options.pointX || 6;
    this.pointY = options.pointY || ;
  }
  // our instance holder
  var instance;
  // an emulation of static variables and methods
  var _static  = { 
    name:  "SingletonTester",
    // Method for getting an instance. It returns
    // a singleton instance of a singleton object
    getInstance:  function( options ) {  
      if( instance  ===  undefined )  {   
        instance = new Singleton( options );  
      }  
        return  instance;     
    }
  };
  return  _static;
})();
var singletonTest  =  SingletonTester.getInstance({
  pointX:  5
});
// Log the output of pointX just to verify it is correct
// Outputs: 5
console.log( singletonTest.pointX );

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品一区二区三区| 在线观看国产精品淫| 欧美日韩一区免费| 欧洲成人免费视频| 亚洲欧美综合精品久久成人| 一区二区成人精品| 久久亚洲春色中文字幕| 中文字幕亚洲在线| 亚洲黄色www| 搡老女人一区二区三区视频tv| 国产91在线播放| 琪琪亚洲精品午夜在线| 国外成人免费在线播放| 亚洲国产成人精品电影| 亚洲色图五月天| 久久精品视频中文字幕| 久久av红桃一区二区小说| 国产精品无av码在线观看| 亚洲欧美日韩网| 午夜精品一区二区三区在线视频| 欧美激情极品视频| 亚洲精品99999| 久久久噜噜噜久噜久久| 国产一级揄自揄精品视频| 97精品视频在线观看| 国产欧美va欧美va香蕉在| 亚洲福利视频网站| 国产成人小视频在线观看| 亚洲精品欧美一区二区三区| 国产成人亚洲综合青青| 亚洲欧美另类国产| 国产精品美女999| 亚洲视频在线观看免费| 2019av中文字幕| 日韩中文字幕在线视频| 亚洲视频在线观看视频| 日韩精品视频在线观看网址| 91国产中文字幕| 在线观看成人黄色| 欧美放荡办公室videos4k| 国产欧美在线看| 亚洲图片在区色| 午夜精品久久久99热福利| 亚洲欧美中文日韩在线v日本| 国语自产精品视频在线看抢先版图片| 国产精品va在线播放| 另类色图亚洲色图| 久久91亚洲人成电影网站| 一区二区三区高清国产| 日韩免费av在线| 日韩一中文字幕| 国产综合在线视频| 成人在线一区二区| 欧美自拍视频在线| 欧美日韩国产一区在线| 91精品美女在线| 欧美孕妇与黑人孕交| 国语自产精品视频在线看一大j8| 91免费国产网站| 日韩av电影在线网| 78色国产精品| 久久99久久久久久久噜噜| 国产精欧美一区二区三区| 久久久中文字幕| 欧美黄色片在线观看| 国产精品香蕉国产| 成人有码在线播放| 国产亚洲精品久久久优势| 欧美激情区在线播放| 8090理伦午夜在线电影| 亚洲成人激情在线观看| 一区二区三区视频免费| 国产成人精品在线观看| 久久久久国产一区二区三区| 精品人伦一区二区三区蜜桃网站| 国产日韩视频在线观看| 日韩av日韩在线观看| 欧美电影免费观看网站| 日本精品va在线观看| 91免费视频网站| 亚洲午夜性刺激影院| 国产精品99久久久久久人| 日韩欧美国产一区二区| 亚洲精品www久久久久久广东| 日韩美女av在线免费观看| 一本一本久久a久久精品牛牛影视| 亚洲国产私拍精品国模在线观看| 久久香蕉精品香蕉| 久久久久日韩精品久久久男男| 国产丝袜精品第一页| 国产美女精品免费电影| 97人洗澡人人免费公开视频碰碰碰| 欧美日韩国产精品一区二区三区四区| 欧美理论电影网| 精品视频在线播放色网色视频| 韩国19禁主播vip福利视频| 欧美黄色片在线观看| 国产精品久久久999| 亚洲四色影视在线观看| 久久亚洲精品毛片| 日韩有码在线播放| 国产精品揄拍一区二区| 68精品国产免费久久久久久婷婷| 亚洲人成网站色ww在线| 日本国产一区二区三区| 欧美高清在线播放| 在线成人免费网站| 在线电影中文日韩| 国产精品久久久久久久久久ktv| 亚洲国产成人精品女人久久久| 亚洲色图美腿丝袜| 亚洲国产精品va在线观看黑人| 国产精品久久久久久久久| 亚洲成在人线av| 欧美日韩国产一区二区| 亚洲天堂视频在线观看| 大桥未久av一区二区三区| 国产91色在线|免| 色婷婷久久一区二区| 日韩在线观看免费网站| 亚洲综合国产精品| 亚洲欧洲日产国产网站| 性色av一区二区咪爱| 性欧美xxxx视频在线观看| 久久亚洲精品视频| 中文字幕欧美亚洲| 91av网站在线播放| 三级精品视频久久久久| 国产美女直播视频一区| 亚洲成人亚洲激情| 久久久av亚洲男天堂| 亚洲欧美日韩一区在线| 欧美精品福利在线| 国内外成人免费激情在线视频网站| 久久久久久综合网天天| 国产狼人综合免费视频| 国产精品夫妻激情| 懂色av影视一区二区三区| 欧美激情2020午夜免费观看| 成人网页在线免费观看| 最近2019中文字幕mv免费看| 日韩美女视频在线观看| 91九色视频在线| 韩国一区二区电影| 69av在线视频| 欧美精品久久久久| 久久久在线免费观看| 91免费欧美精品| 欧美精品少妇videofree| 国产日本欧美一区二区三区在线| 91影视免费在线观看| 中文字幕亚洲欧美一区二区三区| 亚洲国产欧美日韩精品| 亚洲毛片在线免费观看| 欧美影院在线播放| 岛国av在线不卡| 青青久久av北条麻妃海外网| 成人精品aaaa网站| 国产在线a不卡| 欧美一级大片在线免费观看| 国产精品久久久久久久久久东京| 日韩精品极品视频免费观看| 国语自产在线不卡| 久久久久久久爱|