#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>