Movatterモバイル変換


[0]ホーム

URL:


  1. Glossário do MDN Web Docs
  2. Call stack (Pilha de chamadas)

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

Call stack (Pilha de chamadas)

A pilha de chamadas(call stack) é um mecanismo do interpretador de uma linguagem que organiza o funcionamento do script quando são chamadas muitas funções, qual função está sendo executada no momento, e quais serão chamadas dentro de alguma função, etc.

  • Quando o script chama a função, ela é adicionada à pilha de chamadas, e então é iniciado o carregamento da função.
  • Qualquer função chamada por essa função será adicionada à pilha de chamadas uma acima da outra.
  • Quando a função termina a execução, o interpretador retira a função da pilha e continua a execução do programa de onde parou.
  • Caso a pilha ocupar mais espaço do que foi separado a ela, será exibido um erro "stack overflow" (estouro de pilha).

Exemplo

js
function saudacao() {  // [1] Algum código aqui  digaOi();  // [2] Algum código aqui}function digaOi() {  return "Olá!";}// Chamando a função `saudacao`saudacao();// [3] Algum código aqui

O código acima será executado desta forma pelo interpretador:

  1. Todas as funções serão ignoradas, até chegar na chamada da funçãosaudacao().

  2. Adiciona a funçãosaudacao() para a pilha de chamadas.

    Nota:Pilha de chamadas:- saudacao

  3. Executa todas as linhas de código da funçãosaudacao().

  4. Chama a funçãodigaOi().

  5. Adiciona a funçãodigaOi() na pilha de chamadas.

    Nota:Pilha de chamadas:-saudacao > - digaOi

  6. Executa todas as linhas de código da funçãodigaOi() até o final.

  7. Retorna a execução na linha onde foi chamada a funçãodigaOi() e continua a execução do resto da funçãosaudacao().

  8. Deleta a funçãodigaOi() da pilha de chamadas.

    Nota:Pilha de chamadas:-saudacao

  9. Quando todas as linhas da funçãosaudacao() forem executadas, retorna para a linha onde a função foi invocada, e continua a execução do resto do código.

  10. Deleta a funçãosaudacao() da Pilha de chamadas.

    Nota:Pilha de chamadas:EMPTY

Começamos com uma pilha de chamadas vazia, e sempre que chamamos uma função, ela é automaticamente adicionada à pilha de chamadas, e depois de todas as linhas serem executadas, é automaticamente removida da pilha de chamadas. No final, a pilha está vazia novamente.

Veja mais

General knowledge

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp