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

3

请问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);
}

如果您想要重复执行函数,您可能希望使用setInterval而不是自己反复调用setTimeout - https://developer.mozilla.org/En/DOM/Window.setInterval - Michiel Kalkman
5个回答

6

不确定你想要什么。

setTimeout 是全局 window 对象的一个方法。它在第二个参数所传递的时间后执行给定的函数(或评估给定的字符串)。

了解更多关于 setTimeout 的信息。


5

setTimeout() 只是在稍后的时间(在此例中为500毫秒)设置一个函数执行的计时器。在您的特定代码中,它每半秒更新一次当前时间以更新屏幕(它只安排一次调用,从现在开始500毫秒......但那个startTime调用又安排了另一个)。

此外...当您可以避免传递字符串时,这样做是不好的实践,例如:

t = setTimeout(startTime, 500);

0

它会安排你的startTime函数在半秒钟后(500毫秒)重新启动,更新你的时钟。


0

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

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


-1

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

例如,下面的代码将在经过 2 秒后向 JavaScript 控制台打印 "Hello World":

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

console.log("setTimeout() example...");

输出:-
  • setTimeOut() 示例...
  • 你好,世界

或者


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

setTimeout(greeting, 2000);

如果省略第二个参数,则 setTimeout() 会立即执行传递的函数,而不需要等待。 你也可以向 setTimeout() 方法传递额外的参数。
function greeting(name, city){
  console.log(`Hello, my name is ${name}`);
  console.log(`I live in ${city}`);
}

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

    
                      
                                       

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接