Javascript 如何使时间函数自身更新?

Javascript 如何使时间函数自身更新?,javascript,function,time,setinterval,Javascript,Function,Time,Setinterval,当我在浏览器中加载时,它会显示页面完全加载的时间,但不会每秒更新自己。我该怎么做 var h = date.getHours(); if(h<10) h = "0"+h; var m = date.getMinutes(); if(m<10) m = "0"+m; var s = date.getSeconds(); if(s<10) s = "0"+s; document.write(h + " : " + m + " : " + s); var h=date.getH

当我在浏览器中加载时,它会显示页面完全加载的时间,但不会每秒更新自己。我该怎么做

var h = date.getHours();   if(h<10) h = "0"+h;
var m = date.getMinutes(); if(m<10) m = "0"+m;
var s = date.getSeconds(); if(s<10) s = "0"+s;
document.write(h + " : " + m + " : " + s);

var h=date.getHours();如果(h将其封装在函数中,并让它自己调用:

everysecond=1000; // milliseconds
function showCurrentTime(){
    /*do your timing stuff here */
    if(someConditionIsntMet) setTimeout(showCurrentTime, everysecond)
}

使用
setInterval

setInterval(clock, 1000);

function clock() {
   var date = new Date();
   var h = date.getHours();   if(h<10) h = "0"+h;
   var m = date.getMinutes(); if(m<10) m = "0"+m;
   var s = date.getSeconds(); if(s<10) s = "0"+s;
   document.write(h + " : " + m + " : " + s);
}
setInterval(时钟,1000);
功能时钟(){
变量日期=新日期();

var h=date.getHours();if(hsetInterval怎么样?
setInterval
​​​​​​​​​​​​​​​试试这个。@LuigiSiri永远不要使用w3schools
>:(
@LuigiSiri:非常糟糕。设置间隔对此更好。不。设置间隔不是更好。它正在进行。使用自调用函数,您可以在给定条件下中止。中止没有简单的方法setInterval@Lilith2k3…是的。什么样的逻辑让你认为这更好?@Doorknob:就像他说的,这更有趣易用性。您可以通过setTimeout轻松构建setInterval,但反过来就不行了。
setInterval
更糟糕,因为它不依赖于运行函数所需的时间。如果运行函数需要很长时间,您不希望同时更新。请参阅Perioood