這篇文章主要介紹了JavaScript如何實(shí)現(xiàn)繼承,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司主營(yíng)德欽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),德欽h5小程序制作搭建,德欽網(wǎng)站營(yíng)銷推廣歡迎德欽等地區(qū)企業(yè)咨詢
1、寄生式繼承
基于某個(gè)對(duì)象創(chuàng)建一個(gè)對(duì)象,然后增強(qiáng)對(duì)象,返回對(duì)象。
function create(original){ // 通過(guò)調(diào)用函數(shù)創(chuàng)建一個(gè)新對(duì)象 var clone = object(original); // 以某種方式增強(qiáng)對(duì)象 clone.sayHi = function(){ console.log('hi') } return clone; } var person = { name: 'chen' } var person1 = create(person); person1.sayHi();
2、原型鏈繼承
將父類的實(shí)例作為子類的繼承。
function Parent(){ this.name = 'parent' } Parent.prototype.sayName = function(){ return this.name } function Child(){ } // 繼承了Parent Child.prototype = new Parent(); var child1=new Child(); child1.say();
3、組合繼承
使用原型鏈繼承共享的屬性和方法,通過(guò)借用構(gòu)造函數(shù)繼承實(shí)例屬性。
function Parent(name){ this.name = name; this.arr = [1,2,3] } Parent.prototype.sayName = function(){ console.log(this.name) } function Child(name,age){ // 繼承屬性 Parent.call(this, name) this.age=age } // 繼承方法 Child.prototype = new Parent() Child.prototype.constructor = Child; Child.prototype.sayAge = function(){ console.log(this.age) } var child1=new Child('chen',21); child1.arr.push(4); //[1,2,3,4] child1.sayName() // 'chen' child1.sayAge() // 21 var child2=new Child('miao', 12) child2.arr // [1,2,3] child2.sayName() // "miao" child2.sayAge() // 12
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“JavaScript如何實(shí)現(xiàn)繼承”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!