JavaScript物件冒充繼承

admin發表於2019-06-16

作為一門物件導向的語言,繼承自然是必不可少的。

JavaScript實現繼承方式有多種,比如可以使用原型方式或者call()方式。

具體參閱JavaScript prototype原型JavaScript call()一章節。

下面介紹一下如何用物件冒充方式實現繼承效果。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function ClassA(name) { 
  this.webName=name; 
  this.showName=function() { 
    console.log(this.webName); 
  } 
}
function ClassB(name,target){ 
  this.newMethod=ClassA; 
  this.newMethod(name); 
  delete this.newMethod; 
}
var obj=new ClassB("螞蟻部落","分享互助");
obj.showName();

上面的程式碼實現了繼承效果,下面對程式碼做一下注釋。

程式碼註釋:

(1).function ClassA(name){},此函式將會被ClassB繼承。

(2).function ClassB(name,target){},被用作建構函式,建立一個例項物件。

(3). this.newMethod=ClassA,將函式ClassA賦值給屬性newMethod。

(4).this.newMethod(name),執行函式newMethod,對函式ClassA中的屬性賦值,完成繼承。

(5).delete this.newMethod,刪除此屬性,其實刪不刪除都無所謂,要看具體的需要。

建議參閱JavaScript new運算子一章節,有助於理解。

相關文章