Cosa è Call Stack in JavaScript

Cosa è Call Stack in JavaScript
Un motore JavaScript è considerato un componente software che aiuta a eseguire il codice JavaScript. Sebbene i primi motori JavaScript introdotti fossero semplicemente interpreti, oggi sono un brillante ingegneria che utilizza "Appena in tempo"Compilazione per aumentare le prestazioni.

Coprire ogni aspetto del motore JavaScript sarebbe complicato; Tuttavia, ci sono alcune parti minori in ciascun motore JavaScript che fa il duro lavoro dietro le quinte. "Chiama Stack"È uno di quei componenti che ci consente di eseguire senza intoppi il codice in un motore JavaScript. Pronto a saperne di più sullo stack di chiamate?

Questo articolo discuterà di Call Stack e funziona in JavaScript con l'aiuto di un esempio adatto. Quindi iniziamo!

Cosa è Call Stack in JavaScript

JavaScript è una lingua a thread singola in quanto ne utilizza solo una "Chiama Stack"Per la gestione del"Globale" E "Funzione" Contesti di esecuzione. Call Stack in JavaScript è un tipo di struttura dati che mantiene le tracce delle funzioni invocate ed eseguite.

Termini associati allo stack di chiamata in JavaScript

Spingere, Pop, E Superiore sono i tre termini comunemente usati durante la discussione dello stack di chiamate in JavaScript. Per saperne di più su questi termini, controlla la descrizione data:

  • Superiore: IIT comprende il massimo elemento dello stack di chiamata, che può essere una chiamata di funzione. Inoltre, lo stack di chiamata può eseguire solo la funzione che esegue in alto.
  • Spingere: In Call Stack, "Spingere"Si riferisce al posizionamento di qualcosa in cima. Ad esempio, quando una funzione viene invocata in JavaScript, viene creato il suo contesto di esecuzione della funzione e la funzione specificata viene spinta nella parte superiore dello stack di chiamate.
  • Pop: "Pop"È il processo per popolare l'elemento superiore dello stack di chiamate. Di solito, una funzione viene visualizzata quando completa la sua esecuzione, quindi il motore JavaScript riprende la sua esecuzione in cui è stato lasciato.

Principio di base dello stack di chiamate in JavaScript

Call Stack si basa su l'ultimo al primo fuori (Lifo) Principio, che significa che l'ultima funzione spinta ad essa si aprirà per primo quando la funzione ritorna o termina la sua esecuzione.

Ora, comprendiamo il funzionamento di Call Stack con l'aiuto di un esempio.

Esempio: come usare lo stack di chiamate in javascript

Prima di tutto, definiremo un "Prodotto()"Funzione che comprende due parametri"X" E "y":

Prodotto funzione (x, y)
(return x * y);

Successivamente, abbiamo aggiunto un'altra funzione chiamata "informazioni()"Che invoca il"Prodotto()"Funzionare come caso di ritorno:

Funzione info (x, y)
console.log ("Il prodotto del numero dato è:");
restituire prodotto (x, y);

Infine, viene creata una variabile che chiama "informazioni()"Mentre passa"3" E "6"Come argomenti e visualizza il valore restituito nella finestra della console:

Let A = Console.log (info (3, 6));

L'output del codice mostrerà "18"Come prodotto del"3" E "6"Numeri:

All'interno di pochi microsecondi, abbiamo ottenuto l'output del codice fornito. Ora indagheremo su come il motore JavaScript opera dietro le quinte per questo particolare esempio.

Funzionamento di Call Stack in JavaScript

Quando il codice dato viene caricato nella memoria, la prima operazione che esegue il motore JavaScript è la creazione di Contesto di esecuzione globale. Dopo averlo fatto, un "globale()" O "principale()"La funzione viene aggiunta al file superiore del Chiama Stack in modo che lo script possa essere facilmente eseguito:

Il contesto di esecuzione globale si sposterà verso il Fase di esecuzione eseguendo il "informazioni()"Chiamata di funzione. In questo passaggio, il "informazioni()"La funzione viene spinta a superiore dello stack di chiamata quando viene creato il suo contesto di esecuzione della funzione:

Come puoi vedere, il "informazioni()"La funzione è al superiore dello stack di chiamate e ora il motore JavaScript inizierà la sua esecuzione:

Secondo la sceneggiatura data, il "informazioni()"La funzione invocherà il"Prodotto()"Funzione, quindi il motore JavaScript ne creerà un altro Contesto di esecuzione della funzione per questo e poi spingere IL "Prodotto()"Funzione su superiore posizione:

A questo punto, tutte le funzioni richieste sono spinto alla classe stack in una sequenza particolare, in cui il "Prodotto()"La funzione è al superiore dello stack di classe:

Ora, il motore JavaScript avvia l'esecuzione del "Prodotto()"Funzione e Pops usciva dallo stack di chiamate:

Dopo aver completato l'operazione specificata, il motore JavaScript verrà eseguito e saltare fuori IL "informazioni()"Funzione che esiste al superiore dello stack di chiamata:

Non appena l'esecuzione della funzione info () viene completata e Chiama Stack diventa vuoto, Il motore JavaScript lo farà fermare IL esecuzione e spostarsi verso le altre attività di esecuzione:

Abbiamo fornito tutte le informazioni di base relative a Call Stack e il suo lavoro in JavaScript. Puoi esplorarlo ulteriormente in base alle tue esigenze.

Conclusione

Chiama Stack In JavaScript è un tipo di struttura dati che mantiene le tracce delle funzioni invocate ed eseguite. Spingere, Pop, E Superiore sono i tre termini associati allo stack di chiamate, in cui la parte superiore comprende l'elemento più alto dello stack di chiamate, Push si riferisce al posizionamento di qualcosa nella parte superiore dello stack di chiamate e il pop è il processo per far scoppiare l'elemento superiore da esso. Questo articolo ha discusso di Call Stack e funziona in JavaScript con l'aiuto di un esempio adatto.