Heim > Web-Frontend > js-Tutorial > Was ist der Unterschied zwischen „window.onload = initAll();' und „window.onload = initAll;' in JavaScript?

Was ist der Unterschied zwischen „window.onload = initAll();' und „window.onload = initAll;' in JavaScript?

DDD
Freigeben: 2024-12-07 12:14:12
Original
787 Leute haben es durchsucht

What's the Difference Between `window.onload = initAll();` and `window.onload = initAll;` in JavaScript?

Klammern in JavaScript-Funktionsaufrufen

In JavaScript kann der Aufruf einer Funktion ohne Klammern harmlos erscheinen, wenn keine Argumente beteiligt sind. Es besteht jedoch ein subtiler Unterschied zwischen den beiden Syntaxen:

window.onload = initAll();
Nach dem Login kopieren
window.onload = initAll;
Nach dem Login kopieren

Wenn Klammern verwendet werden:

Verwendung von Klammern in einem Funktionsaufruf, wie im erstes Beispiel: führt die Funktion sofort aus. Das Ergebnis der Funktionsausführung (falls vorhanden) wird dann der Variablen oder Eigenschaft zugewiesen, die den Funktionsaufruf empfängt, in diesem Fall window.onload. Diese Ausführung ist normalerweise unerwünscht, wenn Sie die Funktion selbst dem Listener zuweisen möchten.

Wenn Klammern weggelassen werden:

Klammern weglassen, z im zweiten Beispiel weist die Funktionsreferenz direkt der Variablen oder Eigenschaft zu. Die Funktion wird nur ausgeführt, wenn der Listener oder das Ereignis sie auslöst, wodurch das beabsichtigte Verhalten sichergestellt wird.

Zusätzlicher Hinweis:

Eine weitere Variante, auf die Sie möglicherweise stoßen, ist:

window.onload = () => initAll();
Nach dem Login kopieren

Hierbei wird eine um initAll gewickelte Pfeilfunktion verwendet. Es erstellt eine Funktion, die beim Aufruf sofort initAll aufruft. Da die äußere Funktion jedoch window.onload zugewiesen ist, stellt sie sicher, dass initAll nur beim Ladeereignis ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „window.onload = initAll();' und „window.onload = initAll;' in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage