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