Сообщение от Nexus
|
Меня изначально интересовало почему вы в коде из поста №7 использовали генератор, причина этого.
|
Так я же ответил в посте №9. Первые два предложения отвечают на ваш вопрос, вы видимо не поняли что это значит, поэтому сначала откройте Chrome DevTools (⌥⌘I), затем запустите примеры в этом посте и посмотрите, как они выполняются по шагам, для этого в панели Sources нажимайте последовательно на Step into next function call
, чтобы последовательно пройти через выполнение кода.
Вычисление
range(1, Infinity) |> sum |> alert без итератора
function range(start, end) {
let array = [];
for (var i = start; i <= end; i++)
array.push(i);
return array;
}
function sum(array) {
let total = 0;
for(const value of array)
total += value;
return total;
}
debugger;
alert(sum(range(1, 5)));
Вычисление
range(1, Infinity) |> sum |> alert с итератором
function* range(start, end) {
for (let i = start; i <= end; i++)
yield i;
}
function sum(array) {
let total = 0;
for(const value of array)
total += value;
return total;
}
debugger;
alert(sum(range(1, 5)));