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

首頁 > 編程 > JavaScript > 正文

js中使用使用原型(prototype)定義方法的好處詳解

2019-11-20 09:33:57
字體:
供稿:網(wǎng)友

經(jīng)常在前端面試或是和其他同行溝通是,在談到構(gòu)造在JS定義構(gòu)造函數(shù)的方法是最好使用原型的方式:將方法定義到構(gòu)造方法的prototype上,這樣的好處是,通過該構(gòu)造函數(shù)生成的實例所擁有的方法都是指向一個函數(shù)的索引,這樣可以節(jié)省內(nèi)存。

當(dāng)然,這種說法沒有任何問題,只是在實現(xiàn)上,并非只有使用prototype的方式才能達到這樣的效果,我們可以將方法以函數(shù)的形式定義在構(gòu)造函數(shù)之外,然后在構(gòu)造函數(shù)中通過this.method = method的方式,這樣生成的實例的方法也都通過索引指向一個函數(shù),具體如下:

// 不使用原型定義方法:(function() {  function Constractor() {    this.method1 = method1;    this.method2 = method2;  }  function method1() {  }  function method2() {  }})();

一般使用原型定義時代碼如下:

(function () {  function Constractor() {  }  Constactor.prototype = {    method1: function() {    },    method2: function() {    }  };    // 或者  Constactor.prototype.method1 = function() {  };  Constactor.prototype.method2 = function() {  };})();

理論和實現(xiàn)都沒有什么高深的,只是為了達到同樣的目的,可以通過不同的途徑,只是此種方式在使用instanceOf運算符來判斷繼承關(guān)系時就不奏效了。

以上這篇js中使用使用原型(prototype)定義方法的好處詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通山县| 綦江县| 达尔| 漾濞| 镇原县| 阿拉善盟| 乌鲁木齐市| 大庆市| 长汀县| 营山县| 东至县| 湖北省| 磐安县| 辛集市| 霸州市| 宁晋县| 大厂| 兴业县| 象州县| 东海县| 兴隆县| 会宁县| 石屏县| 闸北区| 静宁县| 静海县| 宁波市| 云安县| 九龙县| 永靖县| 潼关县| 都江堰市| 海淀区| 江源县| 吉木萨尔县| 沿河| 咸丰县| 永济市| 新巴尔虎左旗| 苍山县| 晋宁县|