2010-09-24 210 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

相关问题