成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 真·原型繼承

Cheng_Gang / 2992人閱讀

摘要:之前在學(xué)習(xí)原型繼承的時(shí)候,在網(wǎng)上搜了一堆,發(fā)現(xiàn)都不是我想要的結(jié)果,就想起來我之前在一本書上看到的原型繼承方法。書名忍者秘籍第二版,作者原型繼承需要兩步第一步是把子類的原型設(shè)置為父類的實(shí)例。

之前在學(xué)習(xí)“JavaScript 原型繼承”的時(shí)候,在網(wǎng)上搜了一堆,發(fā)現(xiàn)都不是我想要的結(jié)果,就想起來我之前在一本書上看到的原型繼承方法。(書名:《JavaScript 忍者秘籍(第二版)》,作者:John Resig, Bear Bibeault, Josip Maras)

原型繼承需要兩步:
第一步是把子類的原型設(shè)置為父類的實(shí)例。但是這樣一來子類實(shí)例的 constructor 就指向父類了,所以需要手動修復(fù)一下子類的 constructor。
于是就有了第二步:通過 Object.defineProperty 方法來把子類的 constructor 修正為子類。

以下是根據(jù)書中內(nèi)容自己寫的:

function Person() {}
function Ninja() {}

Ninja.prototype = new Person()
Object.defineProperty(Ninja.prototype, "constructor", {
    enumerable: false,
    value: Ninja,
    writable: true
})

let ninja = new Ninja()

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104802.html

相關(guān)文章

  • 如何理解JavaScript原型原型鏈?

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個(gè)繼承層級,而實(shí)線表示屬性引用。原型鏈?zhǔn)菍?shí)現(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個(gè)問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點(diǎn)JavaScript是一門直譯式腳本...

    xuexiangjys 評論0 收藏0
  • 如何理解JavaScript原型原型鏈?

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個(gè)繼承層級,而實(shí)線表示屬性引用。原型鏈?zhǔn)菍?shí)現(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個(gè)問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點(diǎn)JavaScript是一門直譯式腳本...

    adie 評論0 收藏0
  • 【前端芝士樹】Javascript原型原型

    摘要:在創(chuàng)建對象不論是普通對象還是函數(shù)對象的時(shí)候,都有一個(gè)叫做的內(nèi)置屬性,用于指向創(chuàng)建它的構(gòu)造函數(shù)的原型對象,也就是。因?yàn)橐粋€(gè)普通對象的構(gòu)造函數(shù)所以原型鏈原型鏈的形成是真正是靠而非。參考文章最詳盡的原型與原型鏈終極詳解,沒有可能是。 【前端芝士樹】Javascript的原型、原型鏈以及繼承機(jī)制 前端的面試中經(jīng)常會遇到這個(gè)問題,自己也是一直似懂非懂,趁這個(gè)機(jī)會整理一下 0. 為什么會出現(xiàn)原型和...

    yy736044583 評論0 收藏0
  • Javascript 深入淺出原型

    摘要:重點(diǎn)實(shí)例對象是通過原型對象與構(gòu)造函數(shù)取得聯(lián)系的。原型鏈的形成是真正是靠的,而不是。函數(shù)對象和原型對象通過和屬性進(jìn)行相互關(guān)聯(lián)。 JavaScript 使用 prototypal 原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。 個(gè)人博客排版更佳:https://haonancx.github.io/ showImg(https://se...

    wpw 評論0 收藏0
  • 一次性搞懂js中的原型原型

    摘要:每個(gè)原型都有一個(gè)屬性指向關(guān)聯(lián)的構(gòu)造函數(shù)由于實(shí)例對象可以繼承原型對象的屬性,所以實(shí)例對象也擁有屬性,同樣指向原型對象對應(yīng)的構(gòu)造函數(shù)。 showImg(https://segmentfault.com/img/remote/1460000017183104?w=1300&h=834); 構(gòu)造函數(shù):function Foo ( ) { }; 實(shí)例對象:let f1=new Foo; 談到...

    Freeman 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<