Javascript逻辑错误公开

时间:2018-05-24 02:51:24

标签: javascript

我犯了最愚蠢的 javascript 错误,但我花了一段时间才意识到这一点。

是否有任何程序或工具旨在“暴露”错误的 JS 逻辑,如下所示?

function displayTime() {
    var systemTime = new Date();
    document.getElementById("example").innerHTML = systemTime;
    setInterval(displayTime, 1000);
}

Plz不要通过这个代码判断我...我的大脑在其他地方。 |:

1 个答案:

答案 0 :(得分:1)

没有一般规则,使用setInterval调用的函数不应将间隔设置为自身。你可以有这样的代码:

var lastPeriod = 1000;
var curPeriod = 1000;
var timer = setInterval(displayTime, curPeriod);

function displayTime() {
    document.getElementById("example").innerHTML = new Date();
    if (curPeriod != lastPeriod) {
        clearInterval(timer);
        lastPeriod = curPeriod;
        timer = setInterval(displayTime, curPeriod);
    }
}

然后某个地方可能会有一个更改curPeriod的事件监听器,下次displayTime运行时会发现它已更改并更新其周期。