Javascript js计时器无法正确运行
我将这些代码放在html的开头部分,但无法正确运行,Javascript js计时器无法正确运行,javascript,Javascript,我将这些代码放在html的开头部分,但无法正确运行, 有什么问题吗 很明显,它是一个计时器,但它甚至不运行一次。 我没有忘记链接jquery 非常感谢 <script type="text/javascript"> $(function(){ function something(){ alert("something happened"); } var timer=function(){ something();
有什么问题吗 很明显,它是一个计时器,但它甚至不运行一次。
我没有忘记链接jquery 非常感谢
<script type="text/javascript">
$(function(){
function something(){
alert("something happened");
}
var timer=function(){
something();
setTimeout(timer,900);
};
timer;
}
);
</script>
$(函数(){
函数某物{
警惕(“发生了什么事”);
}
变量计时器=函数(){
某物();
设置超时(定时器,900);
};
定时器;
}
);
您的外部匿名函数是在就绪状态下运行的,但它只定义了两个函数,然后有一个无用的计时器
表达式,您必须实际调用该函数:计时器()
如果您想正确地执行此操作,您可能应该完全取消计时器
功能,因为您似乎正在尝试模拟设置间隔
$(function(){
function something(){
alert("something happened");
}
setInterval(something, 900);
});
如果你想每900毫秒调用
something
,你应该使用setInterval
而不是setTimeout
:setInterval(something,900)
。但是为什么这里“setInterval(something,900);”可以工作,为什么不使用“setInterval”(“something()”,900);?可能是因为你必须使用“timer()'而不是'timer'来调用计时器。@namiheike-您可以通过函数或字符串传递setInterval以进行eval
ed。后一个选项会破坏作用域,速度慢且难以调试。传递函数是更好的选择。