中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js如何實現?原型鏈繼承

發布時間:2022-03-31 11:17:50 來源:億速云 閱讀:214 作者:小新 欄目:開發技術

這篇文章主要介紹了js如何實現原型鏈繼承,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

既然要實現繼承,那么首先我們得有一個父類,代碼如下:

// 定義一個動物類
function Animal (name) {
  // 屬性
  this.name = name || 'Animal';
  // 實例方法
  this.sleep = function(){
    console.log(this.name + '正在睡覺!');
  }
}
// 原型方法
Animal.prototype.eat = function(food) {
  console.log(this.name + '正在吃:' + food);
};

原型鏈繼承

核心: 將父類的實例作為子類的原型

function Cat(){ 
}
Cat.prototype = new Animal();
Cat.prototype.name = 'cat';

// Test Code
var cat = new Cat();
console.log(cat.name);
console.log(cat.eat('fish'));
console.log(cat.sleep());
console.log(cat instanceof Animal); //true 
console.log(cat instanceof Cat); //true

特點:

  • 非常純粹的繼承關系,實例是子類的實例,也是父類的實例

  • 父類新增原型方法/原型屬性,子類都能訪問到

  • 簡單,易于實現

缺點:

  • 要想為子類新增屬性和方法,可以在Cat構造函數中,為Cat實例增加實例屬性。如果要新增原型屬性和方法,則必須放在new Animal()這樣的語句之后執行。

  • 無法實現多繼承

  • 來自原型對象的所有屬性被所有實例共享

  • 創建子類實例時,無法向父類構造函數傳參

感謝你能夠認真閱讀完這篇文章,希望小編分享的“js如何實現原型鏈繼承”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

治多县| 明水县| 祁东县| 南和县| 呈贡县| 双城市| 新龙县| 富阳市| 桃园市| 渝北区| 平安县| 渝中区| 微山县| 应用必备| 石棉县| 富裕县| 霍州市| 永济市| 夹江县| 台北市| 祁东县| 禄丰县| 宁强县| 安多县| 南充市| 桐乡市| 洱源县| 西昌市| 天水市| 顺平县| 岱山县| 沅江市| 仁布县| 阿拉善右旗| 中宁县| 佳木斯市| 新乡市| 舒兰市| 额济纳旗| 祁东县| 衡东县|