這篇文章主要講解了JavaScript中繼承的用法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)嘉蔭,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220正統(tǒng)的面相對象的語言都會提供extend之類的方法用于出來類的繼承,但Javascript并不提供extend方法,在Javascript中使用繼承需要用點(diǎn)技巧。
Javascript中的實(shí)例的屬性和行為是由構(gòu)造函數(shù)和原型兩部分組成的,我們定義兩個(gè)類:Person和zhangsan,它們在內(nèi)存中的表現(xiàn)如下圖1:
如果想讓Zhangsan繼承Person,那么我們需要把Person構(gòu)造函數(shù)和原型中的屬性和行為全部傳給Zhangsan的構(gòu)造函數(shù)和原型,如下圖2所示:
Are you Ok?了解了繼承的思路后,那么我們一步步完成Person和Zhangsan的繼承功能。首先,我們需要定義Person類,如下代碼:
[代碼1]
// 定義Person類 function Person (name){ this.name = name; this.type = "人"; } Person.prototype={ say : function(){ console.info("我是一個(gè)"+ this.type +",我的名字叫" + this.name); } } //定義Zhangsan類 function Zhangsan (name){ } Zhangsan.prototype={ }