将函数作为参数传递给递归设置超时



这段代码不起作用:

var counter = 0;
kick(print);
function kick(f) {
setTimeout(function(){
f();  // problem here;
kick();
}, 500);
}
function print(){
console.log(counter++);
}      

浏览器控制台出现以下错误:

Uncaught TypeError: f is not a function

如何在所需时间正确呼叫f()

再次通过f轮:

function kick(f) {
setTimeout(function(){
f();  // problem here;
kick(f);
}, 500);
}

最新更新