我正在尝试重新启动匿名函数。如果这个函数有一个名字我可以称之为,例如:
from datetime import date
class Person:
def __init__(self, name, year):
self.name = str(name)
self.year = year
def age(self):
return date.today().year- self.year
def name(self):
return (self.name)
class Instructor(Person):
def __init__(self, name, age, degree):
Person.__init__(self, name, age)
def degree(self):
return (self.degree)
class Student(Person):
def __init__(self, name, age, major = "major"):
Person.__init__(self, name, age)
def major(self):
return (self.major)
但是这种情况不适用于:
function myFunction(){
if(false){
myFunction();
}
}
提前感谢您的帮助!
答案 0 :(得分:3)
显而易见的解决方案是给匿名函数命名。但是,既然你似乎知道这一点,我会假设你不能这样做。所以,相反,你可以在其中放入一个命名的本地函数并调用它:
function() {
function run() {
if(some condition){
// call this again in 1 second
setTimeout(run.bind(this), 1000);
}
}
run.call(this);
}
如果您的函数中没有使用this
的值,那么您可以将其简化为:
function() {
function run() {
if(some condition){
// call this again in 1 second
setTimeout(run, 1000);
}
}
run();
}