Lambda 什么时候执行匿名函数?它没有';我没有名字叫!

Lambda 什么时候执行匿名函数?它没有';我没有名字叫!,lambda,anonymous-function,Lambda,Anonymous Function,我知道它不是立即执行的,但是什么时候?是的,它在声明时不需要有名称,但可以在运行时绑定到名称 例如,在Python中: def do_it(some_func): # call some_func result = some_func() # do something else do_it(lambda: 42) 所以lambda只返回“42”,没有名字。但是当它被传递到函数do\u it时,它会绑定到some\u func参数名。因此,有一个名称要调用,然后调用。一

我知道它不是立即执行的,但是什么时候?

是的,它在声明时不需要有名称,但可以在运行时绑定到名称

例如,在Python中:

def do_it(some_func):
    # call some_func
    result = some_func()
    # do something else

do_it(lambda: 42)

所以lambda只返回“42”,没有名字。但是当它被传递到函数
do\u it
时,它会绑定到
some\u func
参数名。因此,有一个名称要调用,然后调用。

一个匿名函数也可以在定义后立即执行,而无需在运行时将其绑定到任何名称。Javascript示例:

var o = "hello world";
(function(msg) {
  alert(msg);
})(o);
这是常用的