国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

這樣回答繼承可能面試官更滿意

2024-07-09 22:42:31
字體:
來源:轉載
供稿:網友

9021年底了,突然想在這個最后一個月準備一下,試試機會,能否更進一步。所以開始準備一些基礎知識,也隨帶總結出來給各位想換工作的同學。希望大家能找到自己想要的工作。祝大家好運!

一、何為繼承

一個類獲取另一個或者多個類的屬性或者方法。繼承可以使得子類具有父類的各種方法和屬性。以免重復輸出很多代碼。

二、繼承的原理

復制父類的方法和屬性來重寫子類的原型對象。

三、原型鏈繼承

3.1 實現

function Father() {  this.text = '1';}Father.prototype.someFn = function() {  console.log(1);}Father.prototype.someValue = '2';function Son(){  this.text1 = 'text1';}// 函數原型指向構造函數的實例Son.prototype = new Father();

3.2 優點

1、簡單易操作。

3.3 缺點

1、父類使用this聲明的屬性被所有實例共享。原因是實例化是父類一次性賦值到子類實例的原型上,它會將父類通過this聲明的屬性也賦值到子類原型上。例如在父類中一個數組值,在子類的多個實例中,無論哪一個實例去修改這個數組的值,都會影響到其他子類實例。

2、創建子類實例時,無法向父類構造函數傳參,不夠靈活。

四、借用構造函數(call)

4.1 實現

function Father(...arr) {  this.some = '父類屬性';  this.params = arr;}Father.prototype.someFn = function() {  console.log(1);}Father.prototype.someValue = '2';function Son(fatherParams, ...sonParams) {  // Father的this指向Son的this  // 使用call調用父類,Father將會立即被執行,并且將父類的Father的this執行Son  // 的this。實例化子類,this將指向new期間創建的新對象,返回該新對象。  Father.call(this, ...fatherParams);  this.text = '子類屬性';  this.sonParams = sonParams;}var fatherParams = [];var sonParams = [];var sonInstance = new Son(fatherParams, ...sonParams);

4.2 優點

1、可以向父類傳遞參數。

2、解決父類this聲明的屬性會被實例共享的問題。

4.3 缺點

1、只能繼承父類通過this聲明的屬性/方法。不能繼承父類prototype上的屬性/方法。

2、父類方法無法復用。每次實例化子類,都要執行父類函數。重新聲明父類所定義的方法,無法復用。

五、組合繼承(call+new)

原理:通過原型鏈繼承來將this、prototype上的屬性和方法繼承制子類的原型對象上。使用借用構造函數來繼承父類通過this聲明的屬性和方法在之子類的實例屬性上。

5.1 實現

function Father(...arr) {  this.some = '父類屬性';  this.params = arr;}Father.prototype.someFn = function() {  console.log(1);}Father.prototype.someValue = '2';function Son(fatherParams, ...sonParams) {  // 借用構造函數繼承父類this什么的屬性和方法到子類實例屬性上  Father.call(this, ...fatherParams);  this.text = '子類屬性';  this.sonParams = sonParams;}// 原型鏈繼承,將`this`和`prototype`聲明的屬性/方法繼承至子類的`prototype`上Son.prototype = new Father('xxxxx');var fatherParams = [];var sonParams = [];var sonInstance = new Son(fatherParams, ...sonParams);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平武县| 宜宾市| 新晃| 乐清市| 阜平县| 宜州市| 玉屏| 苏尼特右旗| 靖宇县| 盐津县| 崇左市| 威远县| 尚义县| 闽侯县| 修水县| 沙河市| 叶城县| 水城县| 克拉玛依市| 高邑县| 军事| 福泉市| 年辖:市辖区| 静安区| 鹿泉市| 浦东新区| 惠水县| 青龙| 宜黄县| 宁津县| 彭阳县| 承德县| 兰坪| 东辽县| 滨海县| 平安县| 伽师县| 建平县| 兴宁市| 和龙市| 东台市|