Javascript 重复函数时出现setTimeout问题
我试图使一个函数每x秒重复一次,但我不确定它是否在重复。 我的代码:Javascript 重复函数时出现setTimeout问题,javascript,Javascript,我试图使一个函数每x秒重复一次,但我不确定它是否在重复。 我的代码: 函数myfunction(){ 如果(非重要){ 做点什么; } 否则{ 做点别的; } setTimeout(myfunction(),1000); }典型错误:将函数结果而不是函数本身传递给设置超时: function myfunction() { if (nonimportant) { do something; } else { do something else; } setTi
函数myfunction(){
如果(非重要){
做点什么;
}
否则{
做点别的;
}
setTimeout(myfunction(),1000);
}
典型错误:将函数结果而不是函数本身传递给设置超时
:
function myfunction() {
if (nonimportant) {
do something;
}
else {
do something else;
}
setTimeout(myfunction,1000); //notice there's no brackets
}
这是(向下滚动到setTimeout()下面的setIntervall()部分)的完美用例
var myVar=setInterval(myTimer,1000);
函数myTimer(){
var d=新日期();
变量t=d.toLocaleTimeString();
控制台日志(t);
}
将()取出:
@Johnnympp有什么特别的原因让你没有投票决定以复制品的形式结束吗?@HereticsMonkey好吧,这不完全一样。您的dup更好。”典型错误:“回答重复。相反,投票以重复方式结束。@Hereticsmonkey我同意它可以是重复的,但为什么只有我的答案被否决了?你有足够的代表投票来结束。另一个有足够代表性的人提出了一种不同的方法,这很好,但仍然使删除问题变得更加困难。什么?不同的方法???代码完全相同:检查所有答案!是的。显然,您缺少
setInterval
和setTimeout
之间的区别。但我已经做完了。你得到了一张否决票,这使你想象中的互联网点数减少了无穷小。要么吸取教训,要么不吸取教训。
function myfunction() {
if (nonimportant) {
do something;
}
else {
do something else;
}
setTimeout(myfunction,1000);
}