Ich versuche, ein bisschen mehr über Javascript-Prototypen zu lernen (ich denke, das ist, wie das heißt). Ich sah einige NodeJS-Module mit Funktionen, die wie folgt aufgerufen wurden: something.funcA().funcB().funcC();
und ich versuche es zu reproduzieren. Wie kann ich es tun und wie heißt es?Running Prototyp Funktionen nach der Funktion
Dies ist, was ich von dem Versuch, so weit gekommen:
var total = { t: 0 };
module.exports.calculate = function() {
var calc = {};
calc.result = function result() {
return total.t;
}
calc.add = function add(num) {
total.t += num;
return this;
}
calc.sub = function sub(num) {
total.t -= num;
return this;
}
return calc;
};
Wenn ich die Funktion aufrufen:
calc = require('../helpers/calculate');
// 5 - 1 + 3 = 7
calc.calculate().add(5).sub(1);
calc.calculate().add(3);
console.log(calc.calculate().result());
add()
Arbeiten läuft, aber nicht, wenn ich laufen sub()
nach add()
:
TypeError: Cannot read property 'sub' of undefined
Das hat nichts mit Prototypen zu tun; Es ist nur eine normale Funktion, die einen Wert zurückgibt. – SLaks