Heim > Web-Frontend > js-Tutorial > Wann sind Klammern in JavaScript-Funktionsaufrufen wichtig?

Wann sind Klammern in JavaScript-Funktionsaufrufen wichtig?

Linda Hamilton
Freigeben: 2024-11-25 14:56:11
Original
288 Leute haben es durchsucht

When Do Parentheses Matter in JavaScript Function Calls?

Klammern in Funktionsdeklarationen vs. Aufrufen

In JavaScript erscheint der Unterschied zwischen Funktionsdeklarationen und -aufrufen in ihrer Syntax. Während Funktionsdeklarationen mit geschweiften Klammern enden, enden Funktionsaufrufe mit Klammern.

Betrachten Sie das folgende Beispiel:

var myFunction = function() {
  setTimeout(myFunction, 1000);
}
myFunction();
Nach dem Login kopieren

Hier erwartet die Funktion setTimeout eine Funktionsreferenz als Argument. Wenn Sie myFunction schreiben, verweisen Sie auf die Funktion selbst. Im Gegensatz dazu ruft myFunction() die Funktion tatsächlich auf.

Obwohl dies einfach erscheint, gibt es Ausnahmen. setTimeout kann auch eine Funktion akzeptieren, die eine Funktion zurückgibt, wie im folgenden Code:

function myFunction() {
  return function() {
    alert("ohai");
  }
}

// or

const myFunction = () => () => alert("ohai");
Nach dem Login kopieren

In diesem Szenario würde setTimeout(myFunction(), 1000) Folgendes tun:

  1. Rufen Sie die Funktion „myFunction“ auf und speichern Sie ihren Rückgabewert.
  2. Rufen Sie die Funktion „myFunction“ ab zurückgegeben.

Dadurch wird effektiv eine Warnung geplant, die jede Sekunde angezeigt wird.

Der Hauptunterschied besteht daher darin, dass Sie beim Weglassen von Klammern auf das Funktionsobjekt selbst verweisen. Wenn Sie Klammern einfügen, rufen Sie die Funktion auf. Dies gilt für Funktionsdeklarationen wie var myFunction = function() { ... } und Funktionsausdrücke wie const myFunction = () => { ... }.

Das obige ist der detaillierte Inhalt vonWann sind Klammern in JavaScript-Funktionsaufrufen wichtig?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage