国产探花免费观看_亚洲丰满少妇自慰呻吟_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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清流县| 阿巴嘎旗| 遂宁市| 吉隆县| 焦作市| 台东县| 高平市| 清远市| 甘南县| 都匀市| 织金县| 宁武县| 淳化县| 康乐县| 永顺县| 海城市| 雷州市| 佛学| 青冈县| 澎湖县| 河西区| 定远县| 道孚县| 水富县| 北海市| 宁远县| 望奎县| 全椒县| 汨罗市| 桂林市| 且末县| 巴林左旗| 绥江县| 高要市| 玉田县| 庆元县| 南靖县| 阜平县| 南雄市| 巫山县| 高台县|