gpt4 book ai didi

JavaScript setTimeout 不适用于提示框

转载 作者:行者123 更新时间:2023-11-30 08:59:45 25 4
gpt4 key购买 nike

这是我的代码:

var t = setTimeout("increment();", 1000 * 3);

var st;

function increment() {
st = 1;
}

for (i = 0; i < 10; i++) {

cnt = i;
var no1 = Math.floor(Math.random() * 101);
var no2 = Math.floor(Math.random() * 101);

if ((i % 4) == 0) {
crct_ans[i] = no1 + no2;
quest[i] = no1 + " + " + no2;
}
else if ((i % 4) == 1) {
crct_ans[i] = no1 - no2;
quest[i] = no1 + " - " + no2;
}
else if ((i % 4) == 2) {
crct_ans[i] = no1 * no2;
quest[i] = no1 + " x " + no2;
}
else if ((i % 4) == 3) {
crct_ans[i] = no1 / no2;
quest[i] = no1 + " / " + no2;
}

ans[i] = prompt(quest[i], "");

if (st == 1) break;
}​

如果 3 秒过去,我想停止 for 循环。但这是行不通的。 For 循环也在 3 秒后运行。我该怎么做?

最佳答案

像这样删除 () 和引号:

var t = setTimeout(increment, 3000);
  • 删除 () 会立即/立即禁用该函数的运行,而 setTimeout 需要 callabck。
  • 删除引号可确保 eval 不会在幕后使用。

顺便说一句,最好用单个 var 关键字声明所有变量,如下所示:

var t = setTimeout(increment, 3000), st;

关于JavaScript setTimeout 不适用于提示框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233504/

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