Ошибка. Maximum call stack size exceeded
В игре загадки, выдает ошибку. Прошу помочь, не могу понять, где что не так. Спасибо за помощь!
<script>
var score = 0;
function checkAnswer(inputId, answers) {
var userAnswer = document.getElementById(inputId).value;
userAnswer = userAnswer.toLowerCase();
for (var i = 0; i < answers.length; i++) {
if (userAnswer == answers[i]) {
score++;
break;
}
}
}
function checkAnswer() {
checkAnswer ("userAnswer1", "сухих");
checkAnswer ("userAnswer2", "кошка");
checkAnswer ("userAnswer3", "капуста");
alert ("Вы угадали - " + score + "загадок");
}
</script>
<div class="gameBox">
<p>Каких камней нет в море?</p>
<input type="text" id="userAnswer1">
<p>Как написать слово «мышеловка» пятью буквами?</p>
<input type="text" id="userAnswer2">
<p>Сто одежек и все без застежек?"</p>
<input type="text" id="userAnswer3">
<br><br>
<a href="#" class="ansBtn" onclick="checkAnswer();">Ответить</>
</div>
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
У вас обе функции названы одинаково checkAnswer, поэтому вторая закрепляется за этим именем и зацикливается, вызывая саму себя бесконечно. Назовите их по-разному и измените вызовы соответственно.
Например, замените:
function checkAnswer() {
// ...
<a href="#" class="ansBtn" onclick="checkAnswer();">Ответить</>
на:
function checkAnswers() {
// ...
<a href="#" class="ansBtn" onclick="checkAnswers();">Ответить</>