2009-07-12 126 views
1

所以我终于理解了原型以及如何使用它。 我敢肯定,我仍然试图解决这个问题作为一个Java继承问题,所以如果有一个更原型的方式去这个让我知道。原型继承(javascript)

如果B继承了A我想B的构造函数首先执行A的构造函数。这对设置B的局部变量很重要。起初我以为做这样的事情

function B() 
{ 
    B.prototype.constructor(); 
} 
B.prototype = new A(); 

这当然不能正常工作,因为它本质上是相同的话说

function B() 
{ 
    new A(); 
} 

有什么办法实际上延长Java的方式构造? 有没有更好的方法来解决这个问题?

{编辑}我意识到问题是我试图访问私有变量。我假设私有变量不会从原型传递下来?

回答

2

当你复制一个对象到B的原型,你调用的构造函数:

B.prototype = new A(); 

设置一个局部变量通过构造函数的参数,你可以这样做:

B.prototype = new A(arguments, here); 

不知道这虽然回答你的问题。

-3

您可以使用任何支持类模拟的Ajax框架,它们很好地处理JavaScript中的类和继承。 也请看JS.Class

+1

不确定“任何Ajax框架”。 jQuery不会向JavaScript添加类。 – Nosredna 2009-07-12 04:37:14