JavaScript-Vererbung: wenn Konstruktor Argumente hat

Mit reinen JavaScript-Vererbung zu tun, das ist was ich normalerweise tun:

function A() {}
A.prototype.run = function () {};

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

Da keine Argumente übergeben werden, die in den Konstruktor, der Eine neue hat nichts zu meckern. Nun, ich habe nicht herausgefunden, eine gute Möglichkeit, das zu tun erbschaft, wenn der Konstruktor hat Argumente übergeben werden. Zum Beispiel,

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

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

Konnte ich einige beliebige Werte wie:

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

In einigen Fällen, ich kann bestätigen müssen x und y im Konstruktor von A. In einigen extremen Fällen, ich brauche werfen Fehler beim ankreuzen x oder y ist. Dann gibt es keine Möglichkeit für B zum Erben über neue A.

Irgendwelche Vorschläge?

Dank!

InformationsquelleAutor der Frage Grace Shao | 2011-09-23

Schreibe einen Kommentar