最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年07月04日 09:07:16   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s中使用使用原型(prototype)定義方法的好處詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

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

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

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

  function method1() {
  }

  function method2() {
  }
})();

一般使用原型定義時(shí)代碼如下:

(function () {
  function Constractor() {
  }

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

})();

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

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

相關(guān)文章

  • javascript 獲取函數(shù)形參個(gè)數(shù)

    javascript 獲取函數(shù)形參個(gè)數(shù)

    本節(jié)主要介紹了javascript獲取函數(shù)形參個(gè)數(shù)的具體實(shí)現(xiàn),需要的朋友可以參考下
    2014-07-07
  • JS中位運(yùn)算符的一些妙用

    JS中位運(yùn)算符的一些妙用

    大多數(shù)語言都提供了按位運(yùn)算符,恰當(dāng)?shù)氖褂冒次贿\(yùn)算符有時(shí)候會(huì)取得的很好的效果,下面這篇文章主要給大家介紹了關(guān)于JS中位運(yùn)算符的一些妙用,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • d3.js 地鐵軌道交通項(xiàng)目實(shí)戰(zhàn)

    d3.js 地鐵軌道交通項(xiàng)目實(shí)戰(zhàn)

    這篇文章主要介紹了d3.js 地鐵軌道交通項(xiàng)目實(shí)戰(zhàn),本文通過實(shí)例代碼項(xiàng)目截圖給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • JavaScript異步加載淺析

    JavaScript異步加載淺析

    這篇文章主要介紹了JavaScript異步加載淺析,本文講解了腳本延遲執(zhí)行、腳本的完全并行化、可編程的腳本加載等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • js實(shí)現(xiàn)自定義下拉框

    js實(shí)現(xiàn)自定義下拉框

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)自定義下拉框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • BootStrap的select2既可以查詢又可以輸入的實(shí)現(xiàn)代碼

    BootStrap的select2既可以查詢又可以輸入的實(shí)現(xiàn)代碼

    這篇文章主要介紹了bootstrap的select2既可以查詢又可以輸入的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • 只出現(xiàn)一次的提示信息(js+cookies)

    只出現(xiàn)一次的提示信息(js+cookies)

    只顯示一次的提示信息,刷新一頁面或第二次來到這個(gè)頁面,就不會(huì)再彈出提示窗口了,用在網(wǎng)頁上是想當(dāng)實(shí)用的吧,因?yàn)楹芏嗳硕疾幌M?jīng)常彈出什么窗口,本效果因此會(huì)提升用戶體驗(yàn),讓用戶喜歡你的網(wǎng)頁
    2013-03-03
  • BootStrap注意事項(xiàng)小結(jié)(五)表單

    BootStrap注意事項(xiàng)小結(jié)(五)表單

    這篇文章主要介紹了BootStrap注意事項(xiàng)小結(jié)(五)表單的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,,需要的朋友可以參考下
    2017-03-03
  • 值得分享的輕量級(jí)Bootstrap Table表格插件

    值得分享的輕量級(jí)Bootstrap Table表格插件

    這篇文章為大家分享了輕量級(jí)Bootstrap Table表格插件,以表格的形式顯示的數(shù)據(jù),支持單選,復(fù)選框,排序,分頁,顯示/隱藏列等操作,感興趣的小伙伴們可以參考一下
    2016-05-05
  • js獲取json中key所對(duì)應(yīng)的value值的簡單方法

    js獲取json中key所對(duì)應(yīng)的value值的簡單方法

    下面小編就為大家?guī)硪黄猨s獲取json中key所對(duì)應(yīng)的value值的簡單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03

最新評(píng)論

锦屏县| 大英县| 濮阳市| 金坛市| 永川市| 汶上县| 友谊县| 固始县| 乐亭县| 怀集县| 巴林右旗| 洮南市| 长阳| 石城县| 城固县| 德安县| 三穗县| 中卫市| 台中县| 原平市| 天峻县| 甘泉县| 花垣县| 海盐县| 长兴县| 陈巴尔虎旗| 寿光市| 博乐市| 汨罗市| 托克托县| 缙云县| 巴塘县| 杭锦旗| 封开县| 安新县| 驻马店市| 乌苏市| 五常市| 邹平县| 潼关县| 信阳市|