Je sais que ce n'est pas exécuté immédiatement, mais quand?Quand une fonction anonyme est-elle exécutée? Il n'a pas de nom à appeler!
2
A
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é.