【问题标题】:prototypal inheritance (javascript)原型继承 (javascript)
【发布时间】:2009-07-12 04:02:12
【问题描述】:

所以我终于了解原型以及如何使用它了。 我确定我仍在尝试将其作为 java 继承问题来解决,因此如果有更多原型方法可以解决此问题,请告诉我。

如果 B 继承 A 我希望 B 的构造函数首先执行 A 的构造函数。这对于设置 B 的局部变量很重要。起初我想做类似的事情

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

这当然不能正常工作,因为它本质上和说的一样

function B()
{
    new A();
}

有没有办法以 java 方式实际扩展构造函数? 有没有更好的方法来解决这个问题?

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

【问题讨论】:

    标签: javascript inheritance prototype


    【解决方案1】:

    当你将 A 对象复制到 B 的原型中时,你调用了 A 的构造函数:

    B.prototype = new A();
    

    要通过构造函数参数设置 A 的局部变量,您可以这样做:

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

    但不确定这是否能回答您的问题。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 不确定“任何 Ajax 框架”。 jQuery 不会向 JavaScript 添加类。
      猜你喜欢
      • 2010-09-28
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多