Javascript 重新启动匿名函数
我正在尝试重新启动一个匿名函数。如果这个函数有一个名称,我可以调用它,例如:Javascript 重新启动匿名函数,javascript,Javascript,我正在尝试重新启动一个匿名函数。如果这个函数有一个名称,我可以调用它,例如: function myFunction(){ if(false){ myFunction(); } } 但是,这种情况不适用于: function(){ if(false){ ??? // Perhaps use a "this". Not sure. } } 提前感谢您的帮助 显而易见的解决方案是只给匿名函数起一个名字。但是,既然你似乎知道这一点,
function myFunction(){
if(false){
myFunction();
}
}
但是,这种情况不适用于:
function(){
if(false){
??? // Perhaps use a "this". Not sure.
}
}
提前感谢您的帮助 显而易见的解决方案是只给匿名函数起一个名字。但是,既然你似乎知道这一点,我就认为你做不到。因此,您可以将一个命名的局部函数放入其中并调用:
function() {
function run() {
if(some condition){
// call this again in 1 second
setTimeout(run.bind(this), 1000);
}
}
run.call(this);
}
如果函数中未使用此的值,则可以将其简化为:
function() {
function run() {
if(some condition){
// call this again in 1 second
setTimeout(run, 1000);
}
}
run();
}
所以给它起个名字。。。