国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript設計模式之模塊模式學習筆記

2019-11-19 17:34:29
字體:
來源:轉載
供稿:網友

我們通過單體模式理解了是以對象字面量的方式來創建單體模式的;比如如下的對象字面量的方式代碼如下:

var singleMode = {  name: value,  method: function(){          }};

模塊模式的思路是為單體模式添加私有變量和私有方法能夠減少全局變量的使用;如下就是一個模塊模式的代碼結構:

var singleMode = (function(){  // 創建私有變量  var privateNum = 112;  // 創建私有函數  function privateFunc(){    // 實現自己的業務邏輯代碼  }  // 返回一個對象包含公有方法和屬性  return {    publicMethod1: publicMethod1,    publicMethod2: publicMethod1  };})();

模塊模式使用了一個返回對象的匿名函數。在這個匿名函數內部,先定義了私有變量和函數,供內部函數使用,然后將一個對象字面量作為函數的值返回,返回的對象字面量中只包含可以公開的屬性和方法。這樣的話,可以提供外部使用該方法;由于該返回對象中的公有方法是在匿名函數內部定義的,因此它可以訪問內部的私有變量和函數。

我們什么時候使用模塊模式?

如果我們必須創建一個對象并以某些數據進行初始化,同時還要公開一些能夠訪問這些私有數據的方法,那么我們這個時候就可以使用模塊模式了。

理解增強的模塊模式

增強的模塊模式的使用場合是:適合那些單列必須是某種類型的實例,同時還必須添加某些屬性或方法對其加以增強的情況。比如如下代碼:

function CustomType() {  this.name = "tugenhua";};CustomType.prototype.getName = function(){  return this.name;}var application = (function(){  // 定義私有  var privateA = "aa";  // 定義私有函數  function A(){};  // 實例化一個對象后,返回該實例,然后為該實例增加一些公有屬性和方法  var object = new CustomType();  // 添加公有屬性  object.A = "aa";  // 添加公有方法  object.B = function(){    return privateA;  }  // 返回該對象  return object;})();

下面我們來打印下application該對象;如下:

console.log(application);

繼續打印該公有屬性和方法如下:

console.log(application.A);// aaconsole.log(application.B()); // aaconsole.log(application.name); // tugenhuaconsole.log(application.getName());// tugenhua

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇坪县| 沙洋县| 尚义县| 邹平县| 孟村| 大邑县| 合川市| 苏尼特左旗| 云和县| 无锡市| 西乌珠穆沁旗| 象山县| 两当县| 东至县| 偃师市| 道孚县| 邻水| 寿宁县| 泉州市| 乌兰察布市| 锦州市| 时尚| 通渭县| 建湖县| 高雄县| 汉川市| 雷州市| 鹿泉市| 株洲县| 衡东县| 济宁市| 出国| 巨鹿县| 泌阳县| 恩施市| 平湖市| 商城县| 绿春县| 普兰店市| 无锡市| 绥棱县|