我正在尝试每秒更新一个变量。出于这个原因,我正在使用 setTimeout。但它不会更新变量。它只注销一次 0。这是我的代码
var yes=0;
setTimeout(function () {
console.log(yes);
yes++;
}, 1000);
我正在尝试每秒更新一个变量。出于这个原因,我正在使用 setTimeout。但它不会更新变量。它只注销一次 0。这是我的代码
var yes=0;
setTimeout(function () {
console.log(yes);
yes++;
}, 1000);
使用setInterval,要完成重复,您必须使用 clearInterval(yourInterval); 清除间隔
var yes=0;
yourInterval = setInterval(function () {
console.log(yes);
yes++;
}, 1000);
setTimeout 只会重复一次,尝试 setInterval 以便每秒递增yes
1
但请记住在其他时间进入一个永无止境的循环之后清除间隔
使用clearInterval()
setTimeOut 方法仅在特定超时后调用一次,在您的情况下为 1000,请尝试改用 setInterval 方法
如果您真的想坚持使用 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);