Javascript 使用setTimeout延迟执行

Javascript 使用setTimeout延迟执行,javascript,javascript-events,Javascript,Javascript Events,JavaScript的超时函数是 setTimeout(fun, 3600); 但是如果我不想运行任何其他函数呢。我可以做setTimeout(3600)?您始终可以传递一个不执行任何操作的处理程序: setTimeout(function() { }, 3600); 但我很难想象在任何情况下,这都是有用的。我不知道你想做什么。如果您希望在一段时间后不会发生任何事情,那么首先为什么需要一个setTimeout()?根据您所说的,您只是试图延迟函数内的执行 function a() { ale

JavaScript的超时函数是

setTimeout(fun, 3600);

但是如果我不想运行任何其他函数呢。我可以做
setTimeout(3600)

您始终可以传递一个不执行任何操作的处理程序:

setTimeout(function() { }, 3600);

但我很难想象在任何情况下,这都是有用的。

我不知道你想做什么。如果您希望在一段时间后不会发生任何事情,那么首先为什么需要一个
setTimeout()

根据您所说的,您只是试图延迟函数内的执行

function a()
{
alert("Hello")
setTimeout("b()",3000);
}
function b()
{
alert("World");
}
例如,假设您想运行一个警报,再过2秒,就会出现第二个警报,如下所示:

alert("Hello")
sleep
alert("World")
在javascript中,实现这一点的唯一100%兼容方法是拆分函数

function a()
{
alert("Hello")
setTimeout("b()",3000);
}
function b()
{
alert("World");
}
您还可以在setTimeout本身中声明函数,如下所示

function a()
{
  alert("Hello");
  setTimeout(function() {
    alert("World");
  },3000);
}

嗯,如果你没有运行另一个函数,你需要超时做什么?如果在计时器结束时没有任何东西运行,你为什么要创建一个计时器?在这里,稍微多了解一下您的总体目标会有所帮助。如果您希望这样做以使javascript“睡眠”,超时不会暂停执行。实际上是setTimeout(function,millis)
setTimeout()
先执行一个函数,然后再延迟一段时间,还要尽量避免传递字符串,只要
setTimeout(b,3000)可以。或者
设置超时(函数(){b();},3000)
-例如。。。如果要使用参数,则此选项非常有用<代码>设置超时(函数(){b(arg1,arg2);},3000)
。。。。另外,它是
setTimeout(code,delay)
而不是反过来。@Peter-除非您更改
b()
函数以返回要传递给
setTimeout()
的函数,否则这将不起作用。不过,关于争论的顺序,你是对的o) @patrick-你什么意思?这似乎对我有用。[这里有一个例子。]()----在装入参数后触发2秒的警报。@Peter-你完全正确。不知何故,在我匆忙中,我没有注意到您正在匿名函数中调用
b()。不知道我怎么会错过那个!:o)