


Warum werden Funktionsaufrufe in „setTimeout' nicht immer von Klammern umgeben?
Wann sind Klammern in Funktionsaufrufen zu verwenden?
Wenn man den folgenden Code untersucht:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
Man fragt sich vielleicht, warum Für den Funktionsaufruf innerhalb von setTimeout sind keine Klammern erforderlich, während für den unabhängigen Funktionsaufruf keine Klammern erforderlich sind tut.
Die Unterscheidung verstehen
- myFunction: Dieser Name bezieht sich auf die Funktionsdefinition.
- myFunction(): Das Hinzufügen von Klammern ruft auf Funktion.
Timeout-Funktionsargumente
setTimeout verwendet eine Funktionsreferenz als eines seiner Argumente. Im angegebenen Code wird myFunction als Callback-Funktion referenziert.
Klammern in Timeout-Argumenten
Das Einfügen von Klammern in setTimeout(myFunction(), 1000) kann unbeabsichtigte Folgen haben wenn myFunction eine Funktion zurückgibt (z. B. unter Verwendung von Pfeilfunktionen). In solchen Fällen würde setTimeout den Rückgabewert von myFunction anstelle der Funktionsreferenz selbst erhalten. Dies könnte zu wiederholten Funktionsausführungen oder unerwartetem Verhalten führen.
Daher wird bei der Verwendung von setTimeout oder ähnlichen Methoden, die eine Funktionsreferenz erwarten, generell empfohlen, Klammern für das Funktionsargument wegzulassen.
Das obige ist der detaillierte Inhalt vonWarum werden Funktionsaufrufe in „setTimeout' nicht immer von Klammern umgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
