При решении задачи возникла проблема. Не могу создать цепочку вызовов в консоле.
Есть задание создать модуль калькулятор. Стандартные действия (прибавить, разделить и т.д.)
Конечное значение округлить до 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, время: 09:32. |