摘要:前兩天學(xué)習(xí)繼承的時(shí)候搜到了阮大神寫(xiě)的一篇文章主要講了種構(gòu)造函數(shù)繼承方式我寫(xiě)此篇文章主要是為了總結(jié)學(xué)習(xí)所得父構(gòu)造器子構(gòu)造器是子構(gòu)造器出來(lái)的對(duì)象只能繼承父構(gòu)造器中的屬性代表繼承屬性和方法第一種叫構(gòu)造函數(shù)綁定此種繼承方式只能繼承父構(gòu)造器中的屬性不
前兩天學(xué)習(xí)JS繼承的時(shí)候,搜到了阮大神寫(xiě)的一篇文章http://www.ruanyifeng.com/blo...
主要講了5種構(gòu)造函數(shù)繼承方式.我寫(xiě)此篇文章主要是為了總結(jié)學(xué)習(xí)所得.
父構(gòu)造器Animal,子構(gòu)造器Cat,cat是子構(gòu)造器new出來(lái)的對(duì)象,"只能繼承父構(gòu)造器中的屬性" 代表繼承屬性和方法.
第一種叫構(gòu)造函數(shù)綁定:
此種繼承方式只能繼承父構(gòu)造器中的屬性,不能繼承父構(gòu)造器原型上的屬性.Animal.apply(this, arguments)也可用Animal.call(this)替換.cat對(duì)象有兩個(gè)層級(jí),第一級(jí)存放著自有屬性以及父構(gòu)造器中的屬性,第二級(jí)存放著自己函數(shù)原型上的屬性(Cat.prototype)
第二種叫prototype模式:
此種繼承方式既能繼承父構(gòu)造器中的屬性,也能繼承父構(gòu)造器原型上的屬性.cat對(duì)象有三個(gè)層級(jí),第一級(jí)存放著自有屬性,第二級(jí)存放著父構(gòu)造器的屬性(加上constructor,指向創(chuàng)建該對(duì)象(cat)的構(gòu)造器(Cat)),第三級(jí)存放著父構(gòu)造器原型上的屬性.
第三種叫直接繼承prototype:
此種繼承方式只能繼承父構(gòu)造器原型上的屬性.cat對(duì)象有兩個(gè)層級(jí),第一級(jí)存放著自有屬性,第二級(jí)存放著父構(gòu)造器原型上的屬性(加上constructor,指向創(chuàng)建該對(duì)象(cat)的構(gòu)造器(Cat)).注意:Cat.prototype.constructor = Cat會(huì)將Animal.prototype.constructor也改成Cat,從而影響父構(gòu)造器創(chuàng)建對(duì)象
第四種叫空對(duì)象作為中介:
此種繼承方式只能繼承父構(gòu)造器原型上的屬性.cat對(duì)象有三個(gè)層級(jí),第一級(jí)存放著自有屬性,第二級(jí)存放著臨時(shí)構(gòu)造器F的屬性(加上constructor,指向創(chuàng)建該對(duì)象(cat)的構(gòu)造器(Cat)),第三級(jí)存放著父構(gòu)造器原型上的屬性.注意:臨時(shí)構(gòu)造器只充當(dāng)中介的作用,一般不會(huì)有自己的屬性.
第五種叫淺拷貝繼承(軟大神稱之為拷貝繼承):
此種繼承方式只能繼承父構(gòu)造器原型上的屬性.cat對(duì)象有兩個(gè)層級(jí),第一級(jí)存放著自有屬性,第二級(jí)存放著父構(gòu)造器原型上的除了constructor和__proto__的屬性(不會(huì)拷貝原型上的constructor和__proto__屬性).適合父構(gòu)造器原型上的自增屬性為基本數(shù)據(jù)類型的情況.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81694.html
摘要:由構(gòu)造函數(shù)返回的對(duì)象就是表達(dá)式的結(jié)果。如果構(gòu)造函數(shù)沒(méi)有顯式返回一個(gè)對(duì)象,則使用步驟創(chuàng)建的對(duì)象。運(yùn)算符返回一個(gè)布爾值,表示對(duì)象是否為某個(gè)構(gòu)造函數(shù)的實(shí)例。 面向?qū)ο?本人能力有限,有誤請(qǐng)斧正 本文旨在復(fù)習(xí)面向?qū)ο?不包含es6) 本文學(xué)習(xí)思維 創(chuàng)建對(duì)象的方式,獲取對(duì)象屬性 構(gòu)造函數(shù),構(gòu)造函數(shù)的new 做了什么 原型與原型對(duì)象 原型鏈 繼承(借用構(gòu)造繼承、原型繼承、組合繼承、寄生組合繼承)...
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:但是大家了解阮一峰快排事件嗎,是否知道快排的最佳實(shí)踐本文從一個(gè)爭(zhēng)執(zhí)講起,通過(guò)生動(dòng)詳實(shí)的例子讓你真正了解快排。參考文檔快速排序復(fù)雜度分析如何看待文章面試官阮一峰版的快速排序完全是錯(cuò)的快速排序算法的優(yōu)化思路總結(jié) 只要是個(gè)工程師,就或多或少的知道快排,其中很多人都能輕松的寫(xiě)出一個(gè)快排的實(shí)現(xiàn)。但是大家了解阮一峰快排事件嗎,是否知道快排的最佳實(shí)踐?本文從一個(gè)爭(zhēng)執(zhí)講起,通過(guò)生動(dòng)詳實(shí)的例子讓你真正了...
摘要:簡(jiǎn)介前端發(fā)展迅速,開(kāi)發(fā)者富有的創(chuàng)造力不斷的給前端生態(tài)注入新生命,各種庫(kù)框架工程化構(gòu)建工具層出不窮,眼花繚亂,不盲目追求前沿技術(shù),學(xué)習(xí)框架和庫(kù)在滿足自己開(kāi)發(fā)需求的基礎(chǔ)上,然后最好可以對(duì)源碼進(jìn)行調(diào)研,了解和深入實(shí)現(xiàn)原理,從中可以獲得更多的收獲隨 showImg(https://segmentfault.com/img/remote/1460000016784101?w=936&h=397)...
摘要:如果該函數(shù)的返回值大于,表示第一個(gè)成員排在第二個(gè)成員后面其他情況下,都是第一個(gè)元素排在第二個(gè)元素前面。第三次執(zhí)行,為上一輪的返回值,為第四個(gè)成員。第四次執(zhí)行,為上一輪返回值,為第五個(gè)成員。 JS中ArrayAPI學(xué)習(xí)筆記 記博客,時(shí)?;仡?尤其是面試之先回顧阮一峰標(biāo)準(zhǔn)庫(kù)Array對(duì)象 1 一些標(biāo)準(zhǔn)庫(kù)回顧 showImg(https://segmentfault.com/img/remo...
閱讀 1574·2021-09-23 11:21
閱讀 2345·2021-09-07 10:13
閱讀 834·2021-09-02 10:19
閱讀 1125·2019-08-30 15:44
閱讀 1720·2019-08-30 13:18
閱讀 1913·2019-08-30 11:15
閱讀 1105·2019-08-29 17:17
閱讀 2017·2019-08-29 15:31