私は、javascriptプロトタイプについてもう少し学びたいと思っています。私はいくつかのNodeJSモジュールが以下のように呼び出されていることを知りました:something.funcA().funcB().funcC();
と私はそれを再現しようとしています。どのようにすればいいのですか?関数の後にプロトタイプ関数を実行する
これは私がこれまでにしようとしてから得たものである:
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;
};
私は関数を呼び出すとき:私はadd()
後sub()
を実行したときに
calc = require('../helpers/calculate');
// 5 - 1 + 3 = 7
calc.calculate().add(5).sub(1);
calc.calculate().add(3);
console.log(calc.calculate().result());
がadd()
作品ではなく、実行:
TypeError: Cannot read property 'sub' of undefined
これはプロトタイプとは関係ありません。値を返すだけの通常の関数です。 – SLaks