如何用时钟重复javascript函数

Ton*_*son 1 javascript time date repeat

我刚刚开始学习javascirpt,我正在尝试创建自己的时钟小部件.看来,当我使用"ourDate.toLocalString()"时,它只显示调用函数时的时间.所以我想我必须每秒连续重复这个功能,以便它能够持续保持当前时间.但我遇到的问题是当我启动脚本时,它只重复一次该功能.我究竟做错了什么?以下是代码:

function updateclock(){
ourDate = new Date();
document.write(ourDate.toLocaleString());
}

function startclock() {
updateclock();
setInterval("updateclock()", 1000); 
}
Run Code Online (Sandbox Code Playgroud)

bfa*_*tto 5

问题是document.write.如果在文档加载后调用它,它将覆盖startclock无法再调用的整个文档,包括您的函数.

改为更新HTML元素的内容:

<div id="clock"></div>
<script type="text/javascript">
function updateclock(){
    ourDate = new Date();
    document.getElementById("clock").innerHTML = ourDate.toLocaleString();
}

function startclock() {
    updateclock();
    setInterval(updateclock, 1000); 
}
startclock();
</script>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Ys87F/

另外:不要将字符串传递给setInterval(或setTimeout),而是传递函数名称.