導(dǎo)語1:一個構(gòu)造函數(shù)的原型對象,其實就是這個構(gòu)造函數(shù)的一個屬性而已,屬性名叫prototype,值是一個對象,對象中有一些屬性和方法,所以每個構(gòu)造函數(shù)的實例對象都擁有這些屬性和方法的使用權(quán)。
導(dǎo)語2:構(gòu)造函數(shù)需要用 new 操作符來調(diào)用,它本身沒有任何意義,只有實例化后才有生命,當(dāng)然你也可以把它當(dāng)普通函數(shù)使用,那this就是指向window了(意義不大)。
導(dǎo)語3:對于構(gòu)造函數(shù)實例化出一個對象經(jīng)歷了什么?
我們看下面這個例子:
這個例子充分說明了,大佬們創(chuàng)造出構(gòu)造函數(shù)這種東西,是有特殊用處的,本身沒什么意義,在實例化后瞬間有了生命。
好了有這些準(zhǔn)備工作后,我們開始寫一個構(gòu)造函數(shù)+原型用法
廢話不多說直接上代碼?。?!
1,這個例子中有個構(gòu)造函數(shù),名字叫GetElem,參數(shù)期望傳入的是一個元素的id,可以獲取這個id的元素;
2,實例化一個叫domOne的對象,它傳入一個實參為:“old”;所以它可以獲取這個id為old的元素
3,在構(gòu)造函數(shù)的原型上定義一個方法叫:changeInner 作用是如果傳入了實參就用實參來改變元素的內(nèi)容
4,在構(gòu)造函數(shù)的原型上定義一個方法叫:on作用是根據(jù)事件類型和對應(yīng)函數(shù)干一些事情;
domOne這個實例化對象中并沒有這兩個方法,但是沒關(guān)系,它的原型對象上擁有?。。?!所以可以直接用;
您一定會問為何不直接把方法寫在構(gòu)造函數(shù)中不就省事了?原因是這樣的話,每實例化一個對象都要在實例化過程中創(chuàng)建這些方法,
如果實例化太多就消耗性能,而放在原型對象上就只需要做一次。這也是構(gòu)造函數(shù)+原型優(yōu)于工廠模式的方面。
最后一張圖:
方法可以鏈接起來寫的原因是 在每個方法中 return this (this指向的是實例對象,當(dāng)然可以繼續(xù)調(diào)用它可以調(diào)用的方法啦?。。?
以上所述是小編給大家介紹的js原型和繼承詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司網(wǎng)站的支持!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:詳解一個小實例理解js原型和繼承-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://www.rwnh.cn/article34/dghese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站、搜索引擎優(yōu)化、面包屑導(dǎo)航、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容