Что такое цикл while?

Цикл while - это цикл, который выполняет «пока» условие истинно.

Что такое состояние?

Это просто заявление. Это довольно плохое объяснение, давайте вместо этого попробуем какой-нибудь псевдокод.

Псевдокод:

Объявите переменную под названием «число»

Установите номер переменной равным нулю.

Хотя у нас номер переменной меньше 5, я бы хотел, чтобы вы предприняли следующие действия:

  1. Зарегистрируйте переменную «число» в консоли.
  2. Увеличьте переменную «число» на единицу.

После того, как вы закончите цикл while, я хочу, чтобы вы записали строку «Я закончил цикл while!» к консоли.

Здорово! Если вы не понимаете этот псевдокод, прочтите его еще раз или обсудите с другом или с собой!

Как это будет выглядеть в Javascript?

//Javascript code:
//declare a variable called number and set it equal to 0
var number = 0;
// while number is less than 5, continue looping
while(number < 5){
//take the following actions: log number to the console and increase number by 1
console.log(number);
number = number + 1;
}
//-after exiting the while loop, log the string “I’m finished with the while loop” to the console
console.log(“I’m finished with the while loop!”);

Как это будет выглядеть на компьютере?

  1. Объявите номер переменной
  2. Войдите в цикл while
  3. Проверить, выполняется ли условие
  4. It is!
  5. Выполните действия в цикле while
  6. Повторите цикл while
  7. Проверить, выполняется ли условие
  8. Это еще оно!
  9. Повторяйте, пока число не станет равным 5, и в этом случае цикл while больше не будет истинным.

Почему люди так боятся циклов while? Или почему мои циклы while вызывают сбой в моем браузере?

Что ж, поскольку цикл продолжается до тех пор, пока условие не перестанет выполняться, возможен бесконечный цикл, то есть цикл, который никогда не заканчивается.

Если мы не будем увеличивать нашу числовую переменную каждый раз, когда запускаем цикл while, условие никогда не будет выполняться, и компьютер будет продолжать работать, пока вы не закроете браузер. Это происходит чаще, чем вы думаете.

Попробуйте код на http://jsbin.com/?js,console

Бонусные баллы, если вы сможете выяснить, что будет печататься на вашей консоли, прежде чем нажимать кнопку «Выполнить»!