麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Javascript原型鏈

2019-11-07 23:12:50
字體:
來源:轉載
供稿:網友

原型鏈的繼承就是將子類的PRototype.__proto__鏈接到父類的prototype,借此完成原型鏈

child.prototype.__proto__.= parent.prototype

實例化的對象沒有prototype,prototype是函數特有的屬性,所有的對象都有__proto__, 這是指向實例化這個對象的類的prototype,所有對象的原型鏈最后是null

下面是經典的原型鏈繼承的例子,我借此解釋一下

  function extend(Child, Parent) {    var F = function(){};    //將父類的prototype復制到F函數中    F.prototype = Parent.prototype;    /*new F()實例化F()實際的作用是生成了一個下面這個對象    {    __proto__: {    //Parent.prototype    }    }    這樣就完成了    Child.prototype.__proto__ = Parent.prototype這個原型鏈繼承的核心內容    */    Child.prototype = new F();    //Parent.prototype的constructor是Parent,為了準確這里要手動將Child.prototype.constructor改為Child    Child.prototype.constructor = Child;    //這里是為了代碼實際開發時方便調用父類,不用使用__proto__    Child.uber = Parent.prototype;  }

涉及到繼承這一塊,javascript 只有一種結構,那就是:對象。在 Javascript 中,每個對象都有一個指向它的原型(prototype)對象的內部鏈接。這個原型對象又有自己的原型,直到某個對象的原型為 null 為止(也就是不再有原型指向),組成這條鏈的最后一環。這種一級一級的鏈結構就稱為原型鏈(prototype chain)。—MDN原型鏈描述

上面這句話有些長,看代碼獲取會直觀一點

childClass.prototype.__proto__ == parantClass.prototypechildInstance.__proto__ == childClass.prototypechildInstance.__proto__.__proto__ == childClass.prototype.__proto__ == parantClass.prototype

對于這里的childInstance.__proto__ == childClass.prototype,是由關鍵字new實現的,具體可以看我的另外一篇文章new到底做了什么

參考文獻 Javascript繼承機制的設計思想 Javascript面向對象編程(二):構造函數的繼承 繼承與原型鏈


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本黄色免费片 | 国产一级一片免费播放 | 91久久另类重口变态 | a视频在线看 | 亚洲国产高清一区 | 国产porn在线| 国产精品免费观在线 | 黄色电影免费网址 | 鲁人人人鲁人人鲁精品 | 国产永久免费观看 | 国产午夜精品一区二区三区嫩草 | 久草最新网址 | 看毛片免费 | 91麻豆精品国产91久久久点播时间 | 国产剧情在线观看一区二区 | 日本视频免费观看 | 亚洲一区二区三区精品在线观看 | 国产精选久久久 | 一级免费黄视频 | 亚洲少妇诱惑 | 日韩午夜一区二区三区 | 久久精品操 | 午夜视频在线观看91 | 中文字幕在线播放一区 | 国产视频导航 | 欧美巨根| 91精品观看91久久久久久国产 | 激情夜色| 成人毛片视频在线观看 | 精品国产一区二区三区四区阿崩 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 久久777国产线看观看精品 | 久久性生活免费视频 | 久久久久99999 | 久久国产精品久久久久 | wwwxxx视频| 成人毛片网| 意大利av在线 | 黄色网址在线免费播放 | 亚洲91精品 | 国产日韩在线观看一区 |