Heim  >  Artikel  >  Web-Frontend  >  ## Woher kommen die Parameter in JavaScript-Rückruffunktionen?

## Woher kommen die Parameter in JavaScript-Rückruffunktionen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 11:04:29565Durchsuche

## Where Do The Parameters Come From In JavaScript Callback Functions?

Den Ursprung von Parametern in JavaScript-Rückruffunktionen verstehen

In JavaScript werden Rückruffunktionen häufig verwendet, um die Ausführung zu verschieben, bis ein bestimmtes Ereignis eintritt. Allerdings kann die Quelle der Variablen der Callback-Funktion rätselhaft erscheinen. Lassen Sie uns in die Anatomie von Rückruffunktionen und ihren Parameterursprüngen eintauchen, indem wir den folgenden Node.js-Code als Beispiel verwenden:

router.get('/', function(req, res){
    res.render('index', {});
});

Wie werden die Variablen „req“ und „res“ aufgefüllt?

Im Gegensatz zu dem, was man annehmen könnte, sind „req“ und „res“ nicht innerhalb der Callback-Funktion selbst definiert. Stattdessen stammen sie von der Funktion, die sie aufruft, in diesem Fall „router.get“.

Wenn „router.get“ mit einer Rückruffunktion aufgerufen wird, werden zwei Argumente an diese Funktion übergeben:

  1. Request Object ('req'): Dieses Objekt enthält Informationen über die HTTP-Anfrage, wie Header, Abfrageparameter und die angeforderte URL.
  2. Response Object ('res'): Mit diesem Objekt können Sie eine HTTP-Antwort an den Client senden. Es bietet Methoden zum Festlegen von Statuscodes, zum Senden von Daten und zum Verwalten von Headern.

Aufrufzeit und Parameterursprung

Es ist wichtig, sich daran zu erinnern, dass Rückruffunktionen vorhanden sind werden nicht sofort ausgeführt, wenn sie definiert werden. Stattdessen werden sie zu einem späteren Zeitpunkt aufgerufen, typischerweise wenn das Ereignis eintritt, mit dem sie verknüpft sind. In diesem Fall wird die Rückruffunktion aufgerufen, wenn eine HTTP-GET-Anfrage an den „/“-Endpunkt gestellt wird.

Zum Zeitpunkt des Aufrufs wird die Funktion, die Sie an „router.get“ übergeben haben, mit „req“ ausgeführt. und „res“-Parameter, die von der Funktion selbst bereitgestellt werden. Mit anderen Worten: Die Variablen „req“ und „res“ sind nicht im Gültigkeitsbereich der Callback-Funktion vorhanden, sondern werden beim Aufruf der Funktion als Argumente übergeben.

Vereinfachtes Beispiel ohne „res“-Deklaration

Um die Funktionsweise dieser Parameterübergabe weiter zu veranschaulichen, finden Sie hier ein vereinfachtes Beispiel, das zeigt, wie Sie „res.render“ aufrufen können, ohne „res“ explizit zu deklarieren:

// Define a function to handle HTTP GET requests
function handleGetRequest(req, res) {
    // Render the 'index' view using the data provided by the request
    res.render('index', {});
}

// Register the handler with the router
router.get('/', handleGetRequest);

In diesem Beispiel haben wir eine separate Funktion („handleGetRequest“) erstellt, die die HTTP-GET-Anfragen verarbeitet. Diese Funktion verwendet die Objekte „req“ und „res“ als Parameter. Wenn eine HTTP-GET-Anfrage an den Endpunkt „/“ gestellt wird, ruft der Router die Funktion „handleGetRequest“ auf und übergibt ihm die Objekte „req“ und „res“. Die Funktion kann diese Objekte dann verwenden, um auf Anforderungsinformationen zuzugreifen und eine HTTP-Antwort zu senden.

Dieser Ansatz zeigt, dass Sie „res“ innerhalb der Rückruffunktion nicht explizit deklarieren müssen, solange es als übergeben wird Argument, wenn die Funktion aufgerufen wird.

Das obige ist der detaillierte Inhalt von## Woher kommen die Parameter in JavaScript-Rückruffunktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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