JavaScript - 计时器 - 加速数学故障

时间:2013-04-27 16:59:39

标签: javascript math timer counter

    var time_gone = 0

    function timer() {
        time_gone += 0.01 
        console.clear()
        console.log(time_gone)
        setTimeout("timer()", 10)
    }

    timer()

尝试使用此代码并查看控制台

为什么计数器会失败?!?!?!?

1 个答案:

答案 0 :(得分:1)

这可能会被重复关闭,因为这就是JavaScript数学的工作原理。实际上,大多数编程语言都处理这样的浮点数,所以我建议你真正阅读the post linked above,并尝试理解它。

现在,要修正数字的显示,您可以使用toFixed

var time_gone = 0;
function timer() {
    time_gone += 0.01;
    console.clear();
    console.log(time_gone.toFixed(2));
    setTimeout(timer, 10);
}
timer();