【发布时间】:2020-05-15 10:51:52
【问题描述】:
此代码不起作用:
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()?
【问题讨论】:
-
问题是
kick();调用,你又需要kick(f); -
您调用
kick(),但从不向其传递参数。只需使用提供的参数调用它 -kick(f) -
顺便说一句,你可以简单地使用
setInterval。
标签: javascript recursion settimeout