我知道它不是立即执行的,但是什么时候执行?
问问题
246 次
2 回答
5
是的,它在声明时不需要名称,但它可以在运行时绑定到名称。
例如在 Python 中:
def do_it(some_func):
# call some_func
result = some_func()
# do something else
do_it(lambda: 42)
所以 lambda 只返回“42”并且没有名称。但是当它传递给函数do_it
时,它会绑定到some_func
参数名称。所以有一个名字可以调用,然后被调用。
于 2009-07-11T04:39:22.140 回答
1
匿名函数也可以在定义后立即执行,而无需在运行时将其绑定到任何名称。Javascript 示例:
var o = "hello world";
(function(msg) {
alert(msg);
})(o);
这通常用于创建范围。
于 2009-07-11T04:48:19.330 回答