Показать сообщение отдельно
  #17 (permalink)  
Старый 25.03.2019, 11:07
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от 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)));
Ответить с цитированием