2010-09-24 209 views
7

在下面的例子中,是否有一種方法來構造對象,使得「b」具有屬性a1,初始化爲「2」?Javascript:將構造函數參數傳遞給原型鏈。有沒有辦法?

function A(a1) { 
    this.a1 = a1; 
} 

function B(b1, a1) { 
    this.b1 = b1; 
} 

B.prototype = new A; 

var b = new B('1', '2'); 

我基本上是試圖複製什麼會被稱爲「調用基類的構造」,在傳統的面嚮對象語言(如C#)。

回答

6

是否這樣?

function B(b1, a1) { 
    A.call(this, a1); 
    this.b1 = b1; 
} 
+1

這是有效的。它會調用A的構造函數兩次(因爲行:B.prototype = new A;)。我現在想知道我是否需要「B.prototype = new A」因爲我從來沒有使用instanceof。謝謝。 – zod 2010-09-27 09:22:27

相關問題