Проблема с циклом while в JavaScript: значение переменной не обновляется

Я пытаюсь написать скрипт на JavaScript, который проверяет возраст пользователя. Вот мой код:

let vozrast = Number(prompt('Введите ваш возраст:'))

while (vozrast < 18) {
  console.log(prompt('Вы слишком молоды'))
}

console.log('Вы можете продолжить')

Я ожидал, что цикл будет повторяться, пока возраст меньше 18. Но почему-то он пропускает пользователей младше 18 лет. В чем может быть проблема? Как исправить код, чтобы он работал правильно?

Буду благодарен за любую помощь!

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

let vozrast = Number(prompt('Введите ваш возраст:'));

while (vozrast < 18) {
  console.log('Вы слишком молоды');
  vozrast = Number(prompt('Введите ваш возраст:'));
}

console.log('Вы можете продолжить');

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

у меня была похожая проблема недавно. дело в том что переменная vozrast не меняется внутри цикла, поэтому он зацикливается. чтобы пофиксить, можно использовать do…while:

do {
vozrast = Number(prompt(‘введите ваш возраст:’));
if (vozrast < 18) {
console.log(‘вы слишком молоды’);
}
} while (vozrast < 18);

console.log(‘вы можете продолжить’);

tak код будет работать как надо - спрашивать возраст пока не введут 18 или больше. удачи с кодом!

Да, тут нужно обновлять vozrast в цикле. Но можно еще добавить break, чтобы выйти если ввели неверные данные:

while (vozrast < 18) {
console.log(‘Мал еще!’);
vozrast = Number(prompt(‘Сколько лет?’));
if (isNaN(vozrast)) break;
}

Так цикл прервется, если ввели не число. А то можно зациклиться.