Запрос ввода пользователя внутри цикла while в JavaScript

#javascript #while-loop

Вопрос:

Я создаю игру в угадывание чисел на JavaScript. Я использую свойство input.value для получения пользовательского ввода. Теперь у меня есть цикл while, который должен выполняться до тех пор, пока число, введенное пользователем, не сравняется с фактическим числом. Но я не могу выйти из цикла и снова запросить ввод данных пользователем, так как цикл while всегда принимает значение true. Как я могу снова запросить ввод данных пользователя. Пожалуйста, предложите что-нибудь еще, вместо того, чтобы использовать подсказку.

         var correctNumber = 16
        function answer() {
            while (inputNumber !== correctNumber) {
                var inputNumber = Number(inputValue.value)
                inputNumber = Number(inputValue.value)
        }
    }
 

Комментарии:

1. Зачем нужна петля? Просто верните функцию false и не разрешайте обработку до тех пор, пока она не будет правильной. Также обратите внимание, что любой желающий может просмотреть источник здесь и получить номер. Вы можете отправить сообщение об ошибке на страницу или alert сообщить пользователю, что номер был неправильным.

Ответ №1:

 <html>
  <body>
    <label for="answer">Your guess:</label>
    <input type="text" id="answer" name="answer" />
    <button onclick="guessAnswer">Guess Answer</button>
    <p id="feedback"></p>
    
    <script>
    const correctNumber = 16;
    const feedback = document.getElementById('feedback');
    function guessAnswer() {
      const answer = document.getElementById('answer');
      if(answer == correctNumber) {
        feedback.innerHTML = 'Correct';
      } else {
        feedback.innerHTML = 'Incorrect';
      }
    }
    </script>
  <body>
</html>