千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  html5面試題  > 如何實現繼承

如何實現繼承

來源:千鋒教育
發布人:syq
時間: 2022-11-18 16:45:39 1668761139

  - 對于JavaScript來說,繼承有兩個要點:

  - 復用父構造函數中的代碼 - 復用父原型中的代碼第一種實現復用父構造函數中的代碼,我們可以考慮調用父構造函數并將 this 綁定到子構造函數。

  - 第一種方法:復用父原型中的代碼,我們只需改變原型鏈即可。將子構造函數的原型對象的 proto 屬性指向父構造函數的原型對象。

如何實現繼承

  - 第二種實現:使用 new 操作符來替代直接使用 proto 屬性來改變原型鏈。

  - 第三種實現:使用一個空構造函數來作為中介函數,這樣就不會將構造函數中的屬性混到 prototype 中 function A(x, y) { this.x = x this.y = y } A.prototype.run = function () { } // 寄生繼承 二者一起使用 function B(x, y) { A.call(this, x, y) // 借用繼承 } B.prototype = new A() // 原型繼承 // 組合繼承 Function.prototype.extends = function (superClass) { function F() { } F.prototype = superClass.prototype if (superClass.prototype.constructor !== superClass) { Object.defineProperty(superClass.prototype, 'constructor', { value: superClass }) } let proto = this.prototype this.prototype = new F() let names = Reflect.ownKeys(proto) for (let i = 0; i < names.length; i++) { let desc = Object.getOwnPropertyDescriptor(proto, names[i]) Object.defineProperty(this.prototypr, name[i], desc) } this.prototype.super = function (arg) { superClass.apply(this, arg) } this.prototype.supers = superClass.prototype }

  - 第四種實現:es6類的繼承extends。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
在线观看国产视频啊啊啊舔 | 日韩欧美精品一本二本道一区 | 亚洲国产午夜精品理论片13 | 亚洲精品亚洲人成在线观看麻豆 | 中文字幕亚洲无线码高清 | 欧洲国产又粗又猛又爽的视频 |