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

溫馨提示×

溫馨提示×

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

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

js如何構造繼承

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

小編給大家分享一下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(name){
  Animal.call(this);
  this.name = name || 'Tom';
}

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

特點:

  • 解決了1中,子類實例共享父類引用屬性的問題

  • 創建子類實例時,可以向父類傳遞參數

  • 可以實現多繼承(call多個父類對象)

缺點:

  • 實例并不是父類的實例,只是子類的實例

  • 只能繼承父類的實例屬性和方法,不能繼承原型屬性/方法

  • 無法實現函數復用,每個子類都有父類實例函數的副本,影響性能

以上是“js如何構造繼承”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

js
AI

大港区| 合川市| 乌鲁木齐县| 阿拉善右旗| 永州市| 汝阳县| 兴国县| 大田县| 平和县| 礼泉县| 文登市| 奇台县| 宁津县| 马山县| 湘西| 平湖市| 共和县| 肇源县| 桂平市| 玉树县| 健康| 广昌县| 鲁山县| 分宜县| 洪湖市| 周宁县| 柘荣县| 乌拉特后旗| 呼和浩特市| 邢台市| 刚察县| 津市市| 瑞安市| 临汾市| 巴中市| 惠东县| 崇礼县| 洪湖市| 宜兰市| 宁阳县| 韩城市|