2009-07-11 7 views

Répondre

1

Une fonction anonyme peut également être exécutée dès qu'elle est définie, sans la lier à un nom lors de l'exécution. Exemple Javascript:

var o = "hello world"; 
(function(msg) { 
    alert(msg); 
})(o); 

Ceci est couramment utilisé pour create scopes.

5

Oui, il ne doit pas avoir un nom à déclaration temps, mais il peut être lié à un nom à exécution.

Par exemple en Python:

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

do_it(lambda: 42) 

Ainsi, le lambda suffit retourne "42" et n'a pas un nom. Mais lorsqu'il est passé à la fonction do_it, il est lié au nom du paramètre some_func. Donc, est un nom à appeler, qui est ensuite appelé.