學習JavaScript設計模式之單例模式,javascript設計模式

來源:互聯網
上載者:User

學習JavaScript設計模式之單例模式,javascript設計模式

一、定義

保證一個類僅有一個執行個體,並提供一個訪問它的全域訪問點。
當單擊登陸按鈕,頁面中出現一個登陸浮窗,這個登陸浮窗是唯一的,無論單擊多少次登陸按鈕,這個浮窗都只會被建立一次,那麼這個登陸浮窗就適合用單例模式來建立。

二、實現原理

要實現單例並不複雜,使用一個變數來標誌當前是否已經為某個類建立過對象,如果是,則在下一次擷取該類的執行個體時,直接返回之前建立的對象。

三、假單例

全域變數不是單例模式,但在JavaScript開發中,我們經常會把全域變數當成單例來使用。

var a = {};

降低全域變數帶來的命名汙染
(1)使用命名空間

var namespace1 = {  a: function(){},  b: 2}

(2)使用閉包封裝私人變數

var user = (function() {  var _name = 'lee',    _age = '25';  return {    getUserInfo: function() {      return _name + ":" + _age;    }  };})();

四、惰性單例:在需要的時候才能建立對象執行個體

var getSingle = function(fn) {  var result;  return function() {    return result || (result = fn.apply(this, arguments));  };};// 測試function testSingle(){}getSingle(testSingle)() === getSingle(testSingle)();  // true

五、補充:

(1)懶載入

var lazyload = function() {  console.log(1);  lazyload = function() {    console.log(2);  }  return lazyload();}lazyload();

(2)預先載入

var preload = (function() {  console.log(1);  preload = function() {    console.log(2);  };  return preload;})();preload();

希望本文所述對大家學習javascript程式設計有所協助。

您可能感興趣的文章:
  • javascript 單例模式示範代碼 javascript物件導向編程
  • JavaScript的單例模式 (singleton in Javascript)
  • js單例模式的兩種方案
  • js單例模式詳解執行個體
  • JavaScript設計模式之單例模式執行個體
  • 深入理解JavaScript系列(25):設計模式之單例模式詳解
  • JS模式之單例模式基本用法
  • javascript單例模式的簡單實現方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.