Как работает оператор цикла for в JS?

120
14 декабря 2019, 05:50
var sum = 0;
for (i = 4; i < 8; i++) {
  if (i == 6) {
    continue;
  }
  sum += i;
}
document.write(sum);

Кто-то может, так скажем, "разжевать" его по пунктам?

Понимаю, что в цикле for первое выражение устанавливает переменную i = 4, второе — условие, что переменная должна быть меньше 8, и третье — увеличивает значение после каждого выполнения блока кода в цикле.
В конце мы находим переменную sum, которая равна sum + i.

Так почему переменная sum в конечном итоге равна 16?

Answer 1

continue пропускает все оставшиеся команды в цикле и переходит на следующую итерацию. И получается, что код работает так:

1. i=4, 4!=6, поэтому sum+=i. (sum=4)
2. i=5, 5!=6, поэтому sum+=i. (sum=4+5)
3. i=6, 6=6, поэтому переходим к следующей итерации (команда continue)
4. i=7, 7!=6, поэтому sum+=i. (sum=4+5+7)
5. i=8, 8=8, поэтому цикл завершается

Вот и получается 16

Answer 2
var sum=0; переменной sum присваивается 0
 for (i=4;i<8;i++){ цикл пока i = 4 до пока i < 8 с шагом 1
     if (i==6){ если i = 6 то переходим на следующий "круг" (i + 1)
         continue;
     }
     sum+=i; переменой sum прибавляем i тоже самое, что и sum = sum + i
 }
 document.write(sum); после цикла выводи переменную sum
READ ALSO
Не могу сделать запрос к mysql, который посчитает количество записей

Не могу сделать запрос к mysql, который посчитает количество записей

Со связыванием таблиц не могу никак разобраться, сложно все для меня пока чтоВ общем делаю форум

115
Поиск элемента с ценой больше 100

Поиск элемента с ценой больше 100

Как мне пропарсить элемент с ID=BETS и достать все числа из data-worth со всех элементов и если моё число больше добавить выше этого элемента мой элементесли...

131
Scale Image CSS, JS

Scale Image CSS, JS

Задача: Выполнить scale используя animate()

129