什么是javascript中的setTimeOut()函数?

时间:2010-12-29 09:14:43

标签: javascript function methods settimeout

我可以问一下javascript中setTimeOut方法的功能吗?如下:

function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}

5 个答案:

答案 0 :(得分:5)

不确定你想要什么。

setTimeout是全局窗口对象的方法。它在作为第二个参数传递的时间之后执行给定的函数(或计算给定的字符串)。

详细了解setTimeout

答案 1 :(得分:4)

setTimeout()只调度(设置一个定时器)一个函数,以便稍后执行,在这种情况下为500ms。在您的特定代码中,它使用当前时间每半秒更新屏幕(它只安排一个呼叫,从现在起500毫秒......但 startTime呼叫预定另一个)。

另外......当你可以避免它时,将一个字符串传递给它是不好的做法,对于你的例子它应该是:

t = setTimeout(startTime, 500);

答案 2 :(得分:0)

startTime功能在半秒后(500毫秒)重新开始,更新你的时钟。

答案 3 :(得分:0)

setTimeOut设置一个计时器,并在该计时器超时后执行给定的代码。因此,使用您的代码,如果startTime被调用一次,则每半秒重复一次。

顺便说一下。我假设使用500 ms的延迟来解决时钟中的小偏差问题。您将希望每秒更新元素的值。要做到这一点,最好计算直到下一整秒的时间并将其设置为延迟。这将为您提供更准确的时钟。

答案 4 :(得分:-1)

setTimeout() 方法允许您在经过一定时间后执行一段代码。您可以将该方法视为一种设置计时器以在特定时间运行 JavaScript 代码的方法。

例如,下面的代码将在 2 秒后将“Hello World”打印到 JavaScript 控制台:

setTimeout(function(){
    console.log("Hello World");
}, 2000);

console.log("setTimeout() example...");
<块引用>

输出:-

  • setTimeOut() 示例...
  • 你好世界


function greeting(){
  console.log("Hello World");
}

setTimeout(greeting, 2000);

如果您omit第二个参数,那么setTimeout()将立即执行传递的函数,无需等待。

您还可以向 setTimeout() 方法传递其他参数。

function greeting(name, city){
  console.log(`Hello, my name is ${name}`);
  console.log(`I live in ${city}`);
}

setTimeout(greeting, 2000, "Milan", "Kathmandu");