javascript非建構函式繼承簡單介紹

antzone發表於2017-04-07

本章節介紹一下關於非建構函式繼承簡單介紹,希望能夠給需要的朋友帶來一定的幫助。

關於建構函式的繼承可以參閱javascript建構函式繼承簡單介紹一章節。

一.什麼是非建構函式的繼承:

兩個都是普通物件,不是建構函式,無法使用建構函式方法實現繼承,看下面程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var Web={target:"瀏覽者訪問"}

建立一個父物件,給出了網站的基本目的是味瀏覽者訪問之用,再來看一個子物件程式碼:

[JavaScript] 純文字檢視 複製程式碼
var Antzone={webName:'螞蟻部落'};

二.使用object()方法實現繼承:

當然這個方法可以是其他名稱,這裡只是慣例如此,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function object(o) {
  function F() {}
 F.prototype = o;
  return new F();
}

在object()方法中建立一個空函式F(),當然是為了儘量讓其"乾淨",然後將父物件賦值給函式F的prototype屬性,從子物件就和父物件取得了聯絡,然後再返回F()的例項化物件,這個物件具有父物件的屬性,然後再加上子物件自身的屬性即可,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var Web={target:"瀏覽者訪問"}
var Antzone={webName:"螞蟻部落"};
 
function object(o) {
  function F() {}
 F.prototype = o;
  return new F();
}
Antzone=object(Web);
Antzone.webName="螞蟻部落"
console.log(Antzone.webName);
console.log(Antzone.target);

三.使用拷貝的方式實現繼承:

這裡不多介紹了,具體可以參閱javascript深度拷貝和淺拷貝簡單介紹一章節。

相關文章