Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.05.2020, 15:28
Новичок на форуме
Отправить личное сообщение для Voffalex Посмотреть профиль Найти все сообщения от Voffalex
 
Регистрация: 12.05.2020
Сообщений: 2

Вопрос про префиксную и постфиксную форму инкремента
Подскажите, пожалуйста, почему в первом случае получается 15, а во втором 10, а не наоборот?

1
let count = 0,
sum = 0;
while ( count++ < 5) {
sum += count;
}
console.log(sum);

2
let count = 0,
sum = 0;
while ( ++count < 5) {
sum += count;
}
console.log(sum);


Ведь если использовать более примитивный пример, то префиксная форма (2) как раз таки сразу возвращает увеличенное значение.
Или дело в цикле, а не инкременте?


let x = 0;
console.log (x++); // 0

let y = 0;
console.log (++y); // 1

Уже прочитал несколько разных источников, вроде и понятно все по отдельности, но не понятно, почему в задаче выше именно так получается.

Последний раз редактировалось Voffalex, 12.05.2020 в 15:39.
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2020, 15:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Voffalex
count++ < 5
сначала проверяем что count меньше пяти, затем прибавляем единицу.
let count = 0,
sum = 0;
while ( count++ < 5) {\\условно здесь count=4
sum += count;\\а здесь уже count=5
}
console.log(sum);
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2020, 15:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Voffalex
Или дело именно в цикле?
В приращении счетчика и условии. Выводите в цикле, до суммирования, console.log(count, sum); станет понятно.
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2020, 16:23
Новичок на форуме
Отправить личное сообщение для Voffalex Посмотреть профиль Найти все сообщения от Voffalex
 
Регистрация: 12.05.2020
Сообщений: 2

Сообщение от laimas Посмотреть сообщение
Выводите в цикле, до суммирования, console.log(count, sum); станет понятно.
Спасибо, так действительно наглядно видно

Последний раз редактировалось Voffalex, 12.05.2020 в 16:29.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
еще один вопрос про кнопки и события f0rzik Общие вопросы Javascript 15 19.01.2013 23:19
Вопрос про change vitaly63 Общие вопросы Javascript 1 24.12.2012 10:50
Глупый вопрос про if then. Irish.Tippler Общие вопросы Javascript 9 26.07.2012 12:32
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06
Вопрос про отправку данных методом Post QQQ AJAX и COMET 1 15.07.2009 23:27