我正在为朋友的网站编写一个简单的基于文本的游戏。我需要能够更改 HTML 元素或更新 HTML 页面,而不会遇到超出最大调用堆栈错误。我目前正在使用document.getElementById('console').innerHTML += "whatever"我需要一个没有错误的方法这是加载的第一个函数。然后它会转到prompt_input();功能。function title_screen(){ document.getElementById('console').innerHTML += '...' quests.push('Getting Started'); prompt_input();}这就是提示输入功能。它在运行适当的函数时接受用户输入。除了 restart() 之外的每个函数;函数返回到prompt_input();以获得下一轮玩家的输入。
1 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
function prompt_input(){
var action = document.getElementById("myInput").value;
if (action == ""){
prompt_input();
}
...
这里有一个无限循环。
此条件之前的任何内容都不会使下一次调用时的条件发生变化:如果输入value是"",那么它仍然是,并且您的代码将继续执行,直到达到最大调用堆栈。
我不太确定您期望这个递归调用做什么,但快速浏览一下,我想说您只需要在这种情况发生时提前退出:
function prompt_input(){
var action = document.getElementById("myInput").value;
if (action == ""){
return; // early exit
}
...
- 1 回答
- 0 关注
- 59 浏览
添加回答
举报
0/150
提交
取消