Цикл while и for проблема с выполнением условия.
Заранее извиняюсь, если не в той ветке пишу, новичок на форуме.
Ситуэйшн. Изучаю циклы JS, пишу цикл for: for (x = 3; x < 10000; x *= 3) { console.log (x) }; // Последним значением консоль возвращает undefined, а перед ним - 6561, что логично, ведь в условии x < 10000. Далее пишу цикл while: var x = 3; while (x < 10000) { console.log (x) x *= 3 }; // Последним значением консоль возвращает 19683, без undefined... Я не понимаю почему, ведь в условии прописано x < 10000. Помогите разобраться, почему так происходит. Заранее спасибо! :) ЗЫ: Пока сидел разбирался понял, что цикл while запускается ещё раз потому что предпоследнее значение 6561, следовательно, условие даёт true и цикл повторяется ещё раз. НО! Почему цикл не повторяется ещё раз в случае цикла fore? :write: Я же правильно понимаю? |
Цитата:
при x = 19683 вывода консоли не происходит в обоих случаях |
Получается, что можно не обращать внимания на число 19683? А как можно сделать, чтобы консоль его не возвращала? И ещё я обратил внимание на надписи VM78:3 в правом углу консоли google chrome, они находятся напротив чисел, которые возвращает консоль, кроме числа 19683, что они значат? Я пытался погуглить, но не нашёл ответа.
|
Цитата:
|
Я просто пишу цикл в google chrome консоли, а потом просто его запускаю, проверить работает он или нет. Цикл я выше писал.
|
Цитата:
var x = 3; while (x < 10000) { console.log (x) x *= 3 }; и последняя строка это текущее состояние x |
Часовой пояс GMT +3, время: 09:49. |