日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JavaScript 对象继承

發布時間:2025/3/15 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 对象继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


原型繼承:

  這種原型繼承的特點:既繼承了父類的模板,又繼承了父類的原型對象。優點是繼承了父類的模板,
? ? 又繼承了父類的原型對象,缺點就是父類實例傳參,不是子類實例化傳參,不符合常規語言的寫法。

function animal(footnum,eyescolor,feathercolor){ //夫類this.foot = footnum;this.eyes = eyescolor;this.feather = feathercolor;}animal.prototype.eat = function(){alert("eatting");}function bird(){ //子類}bird.prototype = new animal(5,"black","red"); //繼承
/* 不能使用對象字面量創建原型方法。因為這 樣做就會重寫原型鏈 如:
bird.prototype ={
  fly : function(){
    alert('flying');
  }
}
*/ bird.prototype.fly=function(){   alert('fly');} var eagle = new bird(); //對象 eagle.eat();

  

?

?

?

?


?

類繼承:

  繼承了父類的模板,不繼承了父類的原型對象。優點是方便了子類實例傳參,
  缺點就是不繼承了父類的原型對象

1 function Person(name,age,tall){ 2   this.name = name; 3   this.age = age; 4   this.tall = tall; 5 } 6 Person.prototype.gether = function(){ 7   alert("gether"); 8 } 9 10 function boy(name,age,tall,face){ 11 //call/apply Person.apply(this,[name,age,tall]); 12   Person.call(this,name,age,tall); 13   this.face = face; 14 } 15 boy.prototype.play = function(){ 16   alert("playing"); 17 } 18 19 var boys = new boy("小明",12,160,"circle"); 20 boys.play();

?

?

?


?

組合繼承:(推薦)

  既繼承了父類的模板,又繼承了父類的原型對象。優點方便了子類實例傳參,
  缺點就是Boy.pertotype = new Persion() 函數又實例一次,函數內部變量又重復實例一次,
  大程序時候會很好性能。

1 // 父類 2 function Person(name,age){ 3   this.name = name; 4   this.age = age; 5 } 6 // 父類的原型對象屬性 7 Person.prototype.id = 10; 8 // 子類 9 function Boy(name,age,sex){ 10 //call apply 實現繼承 11 Person.call(this,name,age); 12   this.sex = sex; 13 } 14 // 原型繼承實現 參數為空 代表 父類的實例和父類的原型對象的關系了 15 Boy.prototype = new Person(); 16 var b = new Boy('c5',27,'男'); 17 alert(b.name)// c5 18 alert(b.id)//10

?

轉載于:https://www.cnblogs.com/NExt-O/p/9757853.html

總結

以上是生活随笔為你收集整理的JavaScript 对象继承的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。