замыкание java script
Написать функцию, принимающую один аргумент. Если его не передать – то по умолчанию этот аргумент равен – 0 При первом вызове, она его запоминает, при последующих переданный аргумент суммируется с результатом предыдущего вызова. Как это будет выглядеть:
const sum = sumFunction();
sum(3) ; //3
sum(5); // 8
sum(20); // 28
Важно: функция должна возвращать значение, а не просто выводить его в console.log. Мое решение задачи в коде ниже.
const sum = function sumFunction(x) {
const add = function (y) {
return x + y
}
return add
}
const addThree = sum(3);
const addFive = sum(5);
const addTwenty = sum(20);
console.log(addThree(0));//3
console.log(addFive(3)); //8
console.log(addTwenty(8)); ///28
Но это не совсем корректно, так как в замыкании должна быть какая-то переменная, которая будет сохранять результат предварительного вызова функции. Как это можно реализовать?