gpt4 book ai didi

javascript - 递归过多的原因是什么?

转载 作者:行者123 更新时间:2023-12-03 00:51:26 25 4
gpt4 key购买 nike

我正在尝试制作一个浏览器数学游戏,但遇到了递归过多的错误,但我无法找到原因。

任何有关调试的帮助或建议将不胜感激。

https://pastebin.com/ugTk00S1

HTML

<body>
<label id="question"></label>
<br><br>
<input type="text" id="answer">
<br><br>
<br><br>
<label id="correct">Correct: 0</label>
<br><br>
<label id="incorrect">Incorrect: 0</label>
<br><br>
<input type="button" id="enterButton" value="E N T E R" />
</body>

Javascript

单击按钮时调用 evalFunction,并传递 2 个数字和符号值

似乎在页面加载时按下了按钮,但即使输入为空,仍然有一些正确的答案。大约有 1/21 的时间是这样,因为所有答案都在 0 到 20 之间,所以它可能会将没有答案计为 0,而之前它没有这样做。

            var enterButton = document.createElement('enterButton');
enterButton.onclick = evalFunction(num1, num2, sign);

最佳答案

您遇到问题,因为您突然调用函数 evalFunction

var enterButton = document.createElement('enterButton');
enterButton.onclick = evalFunction(num1, num2, sign);
^

您需要将函数分配给属性onclick

var enterButton = document.createElement('enterButton');
enterButton.onclick = function() {
evalFunction(num1, num2, sign);
};

或者您可以使用函数addEventListener绑定(bind)事件click

var enterButton = document.createElement('enterButton');
enterButton.addEventListener('click', function() {
evalFunction(num1, num2, sign);
});

关于javascript - 递归过多的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53025514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com