JavaScript继承:当构造函数具有参数时。

21 浏览
0 Comments

JavaScript继承:当构造函数具有参数时。

使用纯JavaScript进行继承,这是我通常的做法:

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

由于构造函数没有参数需要传递,new A没有任何问题。现在,我还没有找到一个好的方法来处理有参数的构造函数继承。例如,

function A(x, y) {}
A.prototype.run = function () {};
function B(x, y) {}
B.prototype = new A;
B.prototype.constructor = B;

我可以传递一些任意的值,如:

B.prototype = new A(null, null);

在某些情况下,我可能需要在A的构造函数中验证x和y。在一些极端情况下,当检查x或y时,我需要抛出错误。那么,使用new A就无法实现B从A继承。

有什么建议吗?

谢谢!

0