为什么定时器会自动启动?

fud*_*din -2 javascript

在我点击触发计时器的按钮之前,我已经启动了一个正在运行的计时器.小提琴.HTML:

<div id="worked">25:00</div>
<button type="button" onclick="update();">Start</button>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var $worked = $("#worked");

function update() {
    var myTime = $worked.html();
    var ss = myTime.split(":");
    var dt = new Date();
    dt.setHours(0);
    dt.setMinutes(ss[0]);
    dt.setSeconds(ss[1]);

    var dt2 = new Date(dt.valueOf() - 1000);
    var temp = dt2.toTimeString().split(" ");
    var ts = temp[0].split(":");

    $worked.html(ts[1]+":"+ts[2]);
    if (ts[1]==0 && ts[2]==0){
        return 0;
    }
    else{
        setTimeout(update, 1000);
    }
}
setTimeout(update, 1000);
Run Code Online (Sandbox Code Playgroud)

Pra*_*man 5

这是因为你已经给出了最后的陈述:

setTimeout(update, 1000);
Run Code Online (Sandbox Code Playgroud)

这会在一秒钟内启动计时器.