Kürzlich habe ich diesen JavaScript-Code gesehen, konnte aber nicht verstehen, was er zu tun versucht.
%Vor%Bitte erläutern Sie, was dies bewirkt!
Er führt die Funktion aus, die f zurückgibt.
f gibt eine Funktion zurück, die eine Warnung aufruft, die die Ausgabe der Funktion, die Sie als Parameter angegeben haben, f .
BEARBEITEN: Ersetzen Sie einfach ein paar Teile, um es für das Auge zu erleichtern und Sie werden sich selbst sehen:
%Vor%Es ist nur eine übergeordnete Funktion, die in diesem Fall nicht wirklich notwendig ist.
f
ist eine Funktion, die eine andere Funktion ( a
genannt) verwendet, und gibt eine neu generierte Funktion zurück, die a
auswertet und eine Warnmeldung mit dem Ergebnis anzeigt.
Also ruft die untere Zeile f an (in einer anonymen Funktion übergeben, die "Hello World" ausgibt), dann wird sofort die von f
zurückgegebene anonyme Funktion ausgewertet, die das übergebene Argument auswertet (was Sie sehen können, gibt "Hello Welt ") und öffnet dann eine Alarmbox.
Der angegebene Code ist funktional äquivalent zu
%Vor%Aber es gibt zwei zusätzliche Elemente, die es komplexer machen:
Da jedoch keiner dieser Vorteile tatsächlich im Code-Snippet verwendet wird, kann ich sehen, warum Sie verwirrt sind.
Dieser Code erstellt einen Funktionsgenerator. Die erste Funktion (deren Referenz in f
gespeichert ist) akzeptiert einen Verweis auf eine andere Funktion ( a
). Dann erstellt f
eine Funktion, die über den Parameter a
schließt und einen Verweis auf die neue Funktion zurückgibt, die den Rückgabewert von a's
aufgerufenem Ergebnis alarmiert.
Schließlich wird dieses Chaos mit einer Inline-Funktion aufgerufen und sein Ergebnis wird sofort aufgerufen (mit der abschließenden öffnenden und schließenden Klammer am Ende).
f
erhält eine Funktion, die eine Funktion als Argument akzeptiert, aufruft und ihren Rückgabewert in alert
anzeigt. Dann wird f
mit einer Funktion aufgerufen, die die Zeichenkette "Hello World"
zurückgibt, wenn sie aufgerufen wird, was dazu führt, dass Hello World
in einer Warnung angezeigt wird.
Tags und Links javascript function