Was ist Call Stack in JavaScript?

Was ist Call Stack in JavaScript?
Eine JavaScript -Engine gilt als Softwarekomponente, die bei der Ausführung des JavaScript -Codes hilft. Obwohl die ersten eingeführten JavaScript -Motoren einfach Dolmetscher waren, sind sie heute ein brillantes Stück Engineering, das verwendet “Gerade rechtzeitigZusammenstellung zur Steigerung der Leistung.

Die Abdeckung jedes Aspekts der JavaScript -Engine wäre kompliziert; In jeder JavaScript -Engine gibt es jedoch einige kleinere Teile, die die harte Arbeit hinter den Kulissen erledigen. “Rufen Sie Stack anIst eine dieser Komponenten, die es uns ermöglicht, den Code in einer JavaScript -Engine reibungslos auszuführen. Bereit, mehr über Call Stack zu erfahren?

In diesem Artikel werden Anrufstack und seine Arbeit in JavaScript mit Hilfe eines geeigneten Beispiels erläutert. So lass uns anfangen!

Was ist Call Stack in JavaScript?

JavaScript ist eine einsthread-Sprache, da sie nur eine verwendet. “Rufen Sie Stack an"Für die Verwaltung der"Global" Und "Funktion Ausführungskontexte. Rufen Sie Stack in JavaScript an.

Begriffe, die mit dem Anrufstack in JavaScript zugeordnet sind

Drücken, Pop, Und Spitze Werden die drei Begriffe häufig verwendet, während der Anrufstack in JavaScript diskutiert wird. Um mehr über diese Begriffe zu erfahren, lesen Sie die angegebene Beschreibung:

  • Spitze: IIT umfasst das oberste Element des Anrufstacks, der ein Funktionsaufruf sein kann. Außerdem kann der Anrufstack nur die Funktion ausführen, die an der Spitzenposition ausgeführt wird.
  • Drücken: In Call Stack, “Drücken”Bezieht sich darauf, etwas auf die Spitze zu legen. Wenn beispielsweise eine Funktion in JavaScript aufgerufen wird, wird der Kontext der Funktionsausführung erstellt und die angegebene Funktion an die Spitze des Anrufstacks gedrückt.
  • Pop: "Pop”Ist der Prozess, um das oberste Element des Anrufstacks zu popoutieren. Normalerweise wird eine Funktion herausgekommen, wenn sie ihre Ausführung abschließt, und dann setzt die JavaScript -Engine ihre Ausführung wieder auf, wo sie übrig war.

Grundprinzip des Call -Stacks in JavaScript

Call Stack basiert auf das letzte in First Out (LIFO) Prinzip, das bedeutet, dass die letzte Funktion, die darauf gedrückt wurde.

Lassen Sie uns nun die Funktionsweise von Call Stack mit Hilfe eines Beispiels verstehen.

Beispiel: Verwenden Sie den Anrufstack in JavaScript

Zunächst werden wir eine definieren “Produkt()"Funktion, die zwei Parameter umfasst"X" Und "y”:

Funktionsprodukt (x, y)
(return x * y);

Als nächstes haben wir eine weitere Funktion mit dem Namen “hinzugefügt“die Info()Das ruft das an "Produkt()”Funktion als Rückgabefall:

Funktionsinformationen (x, y)
Konsole.log ("Das Produkt der angegebenen Zahl lautet:");
Rückgabeprodukt (x, y);

Zuletzt wird eine Variable erstellt, die die aufruft “die Info()"Während des Vorgehens"3" Und "6”Als Argumente und Zeigen Sie den zurückgegebenen Wert im Konsolenfenster an:

Sei a = Konsole.log (info (3, 6));

Die Codeausgabe zeigt “18"Als Produkt des"3" Und "6”Zahlen:

Innerhalb weniger Mikrosekunden haben wir die Ausgabe des bereitgestellten Codes erhalten. Wir werden nun untersuchen, wie die JavaScript -Engine für dieses spezielle Beispiel hinter den Kulissen arbeitet.

Arbeiten von Call Stack in JavaScript

Wenn der angegebene Code in den Speicher geladen wird, ist die erste Operation, die die JavaScript -Engine ausführt Globaler Ausführungskontext. Danach ein "global ()" oder "hauptsächlich()Die Funktion wird zu der hinzugefügt Spitze des Rufen Sie Stack an So kann das Skript leicht ausgeführt werden:

Der globale Ausführungskontext wird sich dem zu dem bewegen Ausführungsphase Durch das Ausführen der "die Info()”Funktionsaufruf. In diesem Schritt die “die Info()Die Funktion wird auf die gedrückt Spitze des Anrufstacks, wenn sein Funktionsausführungskontext erstellt wird:

Wie Sie sehen können, das “die Info()”Funktion ist an der Spitze des Anrufstacks, und jetzt wird die JavaScript -Engine ihre Ausführung starten:

Nach dem gegebenen Skript das “die Info()Die Funktion wird die aufrufenProdukt()Funktionen, damit die JavaScript -Engine eine andere erstellt Funktionsausführung Kontext dafür und dann drücken Die "Produkt()”Funktion auf der Spitze Position:

Zu diesem Zeitpunkt sind alle erforderlichen Funktionen gedrückt zum Klassenstapel in einer bestimmten Reihenfolge, in der die “Produkt()”Funktion ist an der Spitze des Klassenstacks:

Jetzt startet die JavaScript -Engine die Ausführung der “Produkt()”Funktion und Pops es aus dem Anrufstack heraus:

Nach Abschluss des angegebenen Betriebs wird die JavaScript -Engine ausgeführt und aussteigen Die "die Info()”Funktion, die am vorhanden ist Spitze des Anrufstacks:

Sobald die Ausführung der Funktion info () abgeschlossen wird, und Rufen Sie Stack an wird leer, Die JavaScript -Engine wird stoppen Die Ausführung und bewegen sich auf die anderen Ausführungsaufgaben:

Wir haben alle grundlegenden Informationen zum Call Stack und der Arbeit in JavaScript zur Verfügung gestellt. Sie können es nach Ihren Anforderungen weiter untersuchen.

Abschluss

Rufen Sie Stack an In JavaScript befindet sich eine Art von Datenstruktur, die die Spuren von aufgerufenen und ausgeführten Funktionen verwaltet. Drücken, Pop, Und Spitze sind die drei Begriffe, die mit Call Stack verbunden sind, wobei Top das oberste Element des Call -Stacks umfasst, Pus. In diesem Aufschreiben wurde Call Stack und seine Arbeit in JavaScript mit Hilfe eines geeigneten Beispiels besprochen.