一个小问题:setTimeout()以回调函数的名称作为参数,不要在名称后面带"()"
一段类似这样的代码:
function callback() { alert("callback"); setTimeout(callback(), 5000); }
执行时,发现callback函数并不是每隔5秒执行一次,而是立即重复执行。
问题在哪?
就在于setTimeout参数的问题。
由于上面代码中,setTimeout(callback(), 5000),会首先执行callback函数,将callback函数的返回结果作为5秒后要执行的代码。
正确代码如下:
function callback() { alert("callback"); setTimeout(callback, 5000); }
浙公网安备 33010602011771号