程序流程-requestAnimationFrame
Flow of program- requestAnimationFrame
这段JS代码在运行时给出了输出。这不应该导致无限递归调用并因此显示超出时间限制吗?请解释程序流程。
function main(ctime){
window.requestAnimationFrame(main);
if(start==undefined){
start= ctime;
}
if((ctime-start)/1000<0.5){
console.log(ctime);
return;
}
}
window.requestAnimationFrame(main);
这里没有递归。 window.requestAnimationFrame(main);
只是将 main
放入回调队列而不执行或等待它(就像 setTimeout()
那样)并立即 returns,然后执行下一行。
这段JS代码在运行时给出了输出。这不应该导致无限递归调用并因此显示超出时间限制吗?请解释程序流程。
function main(ctime){
window.requestAnimationFrame(main);
if(start==undefined){
start= ctime;
}
if((ctime-start)/1000<0.5){
console.log(ctime);
return;
}
}
window.requestAnimationFrame(main);
这里没有递归。 window.requestAnimationFrame(main);
只是将 main
放入回调队列而不执行或等待它(就像 setTimeout()
那样)并立即 returns,然后执行下一行。