При решении задачи возникла проблема. Не могу создать цепочку вызовов в консоле.
Есть задание создать модуль калькулятор. Стандартные действия (прибавить, разделить и т.д.)
Конечное значение округлить до 2х знаков после точки. Значение должно храниться в обычной переменной не в this. При одиночном вызове все в порядке, но при вызове функций в цепочку появляется ошибка. let calc = (function () { let value = 0; function setValue(val) { return parseFloat((value = val).toFixed(2)); } function plusVal(val) { return parseFloat((value += val).toFixed(2)); } function multiply(val) { return parseFloat((value *= val).toFixed(2)); } function divVal(val) { return parseFloat((value -= val).toFixed(2)); } function subtraction(val) { return parseFloat((value /= val).toFixed(2)); } return { setValue, plusVal, multiply, divVal, subtraction } })(); |
Да, именно так. Как это правильно сделать? Читал статьи, еще больше запутался.
|
let calc = (function () {
let value = 0;
function setValue(val) {
value = parseFloat(val.toFixed(2));
return this
}
function plusVal(val) {
value = parseFloat((value += val).toFixed(2));
return this
}
function getValue() {
return value
}
return {
setValue,
plusVal,
getValue
}
})();
console.log(calc.setValue(10).plusVal(30).getValue())
https://learn.javascript.ru/task/chain-calls |
Русский, не заплатили )
|
| Часовой пояс GMT +3, время: 16:41. |