javascript
【JS继承】JS继承之寄生式继承
自我介紹:大家好,我是吉帥振的網(wǎng)絡(luò)日志;微信公眾號:吉帥振的網(wǎng)絡(luò)日志;前端開發(fā)工程師,工作4年,去過上海、北京,經(jīng)歷創(chuàng)業(yè)公司,進(jìn)過大廠,現(xiàn)在鄭州敲代碼。
JS繼承專欄?
1【JS繼承】什么是JS繼承?
2【JS繼承】常見的7種繼承方式
3【JS繼承】JS繼承之原型鏈繼承
4【JS繼承】JS繼承之構(gòu)造函數(shù)繼承
5【JS繼承】JS繼承之組合繼承
6【JS繼承】JS繼承之原型式繼承
7【JS繼承】JS繼承之寄生式繼承
8【JS繼承】JS繼承之寄生組合式繼承
9【JS繼承】JS繼承之ES6 Class繼承
一、寄生式繼承
寄生式繼承的思路與寄生構(gòu)造函數(shù)和工廠模式類似,即創(chuàng)建一個僅用于封裝繼承過程的函數(shù),該函數(shù)在內(nèi)部以某種方式來增強(qiáng)對象,后再像真的是它做了所有工作一樣返回對象。
function createAnother(original){ var clone = object(original); ?//通過調(diào)用函數(shù)創(chuàng)建一個新對象 ? ?clone.sayHi = function(){//以某種方式來增強(qiáng)這個對象 ? ? ? ??alert("hi"); ? ??}; ? ??return clone; ? ? ? ? //返回這個對象? }?二、createAnother()函數(shù)
createAnother()函數(shù)接收了一個參數(shù),也就是將要作為新對象基礎(chǔ)的對象。然后,把這個對象(original)傳遞給 object()函數(shù),將返回的結(jié)果賦值給 clone。再為 clone 對象 添加一個新方法 sayHi(),后返回 clone 對象。可以像下面這樣來使用 createAnother()函數(shù):
var person = { ? ?? name: "Nicholas", ? ?? friends: ["Shelby", "Court", "Van"]? };?var anotherPerson = createAnother(person);? anotherPerson.sayHi(); //"hi"總結(jié)
以上是生活随笔為你收集整理的【JS继承】JS继承之寄生式继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PMAC的PVT功能实现解析笔记
- 下一篇: Vue项目中---文本框中加入simdi