Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2018, 21:44
Аватар для Hailrake
Новичок на форуме
Отправить личное сообщение для Hailrake Посмотреть профиль Найти все сообщения от Hailrake
 
Регистрация: 19.06.2018
Сообщений: 3

Цикл 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? Я же правильно понимаю?

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

Сообщение от Hailrake
Последним значением консоль возвращает 19683
в обоих случаях это 6561,
при x = 19683 вывода консоли не происходит в обоих случаях
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2018, 22:22
Аватар для Hailrake
Новичок на форуме
Отправить личное сообщение для Hailrake Посмотреть профиль Найти все сообщения от Hailrake
 
Регистрация: 19.06.2018
Сообщений: 3

Получается, что можно не обращать внимания на число 19683? А как можно сделать, чтобы консоль его не возвращала? И ещё я обратил внимание на надписи VM78:3 в правом углу консоли google chrome, они находятся напротив чисел, которые возвращает консоль, кроме числа 19683, что они значат? Я пытался погуглить, но не нашёл ответа.

Последний раз редактировалось Hailrake, 19.06.2018 в 22:25.
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2018, 22:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Hailrake
А как можно сделать, чтобы консоль его не возвращала?
подскажите как вы это делаите?
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2018, 22:35
Аватар для Hailrake
Новичок на форуме
Отправить личное сообщение для Hailrake Посмотреть профиль Найти все сообщения от Hailrake
 
Регистрация: 19.06.2018
Сообщений: 3

Я просто пишу цикл в google chrome консоли, а потом просто его запускаю, проверить работает он или нет. Цикл я выше писал.
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2018, 22:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Hailrake
Я просто пишу цикл в google chrome консоли
ок понятно, могу ошибаться, но что-то типа , виртуальная машина (сервер) строка 3 (console.log (x))

var x = 3;
 while (x < 10000) {
 console.log (x)
 x *= 3
 };


и последняя строка это текущее состояние x
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл завершается не дожидаясь выполнения функции leonoff jQuery 2 13.08.2014 16:02
Как подчинить себе цикл wreder jQuery 16 20.11.2013 22:17
Цикл завешивает страницу, помогите Romingood jQuery 5 19.10.2013 14:30
как сделать чтобы цикл не запускался второй раз Brook Events/DOM/Window 5 12.05.2013 21:43
Нужен цикл для создания огромного массива apish Общие вопросы Javascript 2 20.09.2012 16:10