我试图每隔一秒更新一个变量。出于这个原因,我正在使用setTimeout。但它不会更新变量。它只注销一次0。这是我的代码
var yes=0;
setTimeout(function () {
console.log(yes);
yes++;
}, 1000);
答案 0 :(得分:3)
使用setInterval完成重复操作,使用clearInterval(yourInterval)清除间隔;
<强> Live Demo 强>
var yes=0;
yourInterval = setInterval(function () {
console.log(yes);
yes++;
}, 1000);
答案 1 :(得分:2)
setTimeout只会重复一次,尝试使用setInterval,以便每隔一秒增加yes
一次
但请记住,在某个时候你进入一个永无止境的循环后清除间隔
使用clearInterval()
答案 2 :(得分:0)
setTimeOut方法只在特定超时后调用一次,在你的情况下为1000,尝试使用setInterval方法
答案 3 :(得分:0)
如果你真的想坚持使用setTimeout(我很欣赏;)) 不仅仅是将所有内容包装成一个函数并在其中自我调用:
var yes=0;
(function loop(){
setTimeout(function () {
console.log(yes);
yes++;
loop(); // loop recall
}, 1000);
})();
否则请转到 setInterval :
var yes=0;
function count(){
console.log(yes);
yes++;
}
setInterval(count, 1000);