赋值运算符返回NaN

0 javascript assignment-operator requestanimationframe

我正在尝试使用window.requestAnimationFrame()时跟踪时间,但即使我要增加的值不是NaN,+ =运算符也会继续返回NaN

var elapsedTime = 0
var lastTime = 0
var between = 500
var count = 0
var betweenCount = 0
function frame(time) {
    elapsedTime = time - lastTime
    console.log(elapsedTime)
    lastTime = time
    betweenCount += elapsedTime
    console.log(betweenCount)
    window.requestAnimationFrame(frame)
}

frame()
Run Code Online (Sandbox Code Playgroud)

betweenCount应该跟踪自上次重置以来的总经过时间,但是一旦为其指定了lapsedTime,它就变为NaN,但是此时的经过时间不是NaN。

ric*_*aan 5

既然你调用frame()不带任何参数在第一时间,timeundefined在功能,elapsedTime将成为undefined - lastTimeNaN

您需要给初始frame()调用一个有效的参数,例如0