O tamanho máximo da pilha de chamadas excedeu o erro no JavaScript | Explicado

O tamanho máximo da pilha de chamadas excedeu o erro no JavaScript | Explicado

Funções recursivas são funções que chamam um método dentro de outro método. No entanto, a recursão infinita causa um erro de tamanho de pilha. O erro de tamanho da pilha ocorre devido ao pendente de muitos pedidos. Este problema surge ao chamar a própria função. Ao considerá -lo, este artigo explica que o tamanho máximo da pilha de chamadas excede o erro no JavaScript. Além disso, a solução também é fornecida para resolver o erro.

O artigo nos serve da seguinte maneira:

  • O tamanho máximo da pilha de chamadas excedeu o erro no JavaScript
  • Usando se a condição para resolver o tamanho máximo da pilha de chamadas excedeu o erro
  • Usando o loop para resolver o tamanho máximo de pilha de chamadas excedida.

O tamanho máximo da pilha de chamadas excedeu o erro no JavaScript

O tamanho da pilha excedeu o erro quando o usuário chama a função recursiva. Esse tipo de erro ocorre devido a invocar repetidamente um método. O fun_user () é utilizado como uma chamada recursiva dentro da função fun_user () em JavaScript para gerar um erro na janela do console.

Código

console.log ("Tamanho máximo da pilha de chamadas excedido");
fun_user ();
function fun_user ()

fun_user ();

Neste código, o “O tamanho máximo da pilha de chamadas excedeu o erro” é gerado chamando um método “FUN_USER ()” dentro da função.

O código exibe o erro como “RangeError: tamanho máximo da pilha de chamadas excedida.”

Existem muitas maneiras de resolver esse erro, como para loop e Declarações condicionais, que pode ser usado para limitar a chamada de função.

Solução 1: Usando a condição IF para resolver o tamanho máximo da pilha de chamadas excedido

Para resolver o erro, a condição se é aplicada para restringir o tamanho da pilha em JavaScript. Por exemplo, o código é dado abaixo.

Código

var i = 1;
fun_user (i);
function fun_user (i)
se eu <= 10)

console.log ('Bem -vindo ao JavaScript');
i = i+1;
fun_user (i);

A descrição do código é a seguinte:

  • Em primeiro lugar, uma variável "eu" é inicializado com o valor 1.
  • Depois disso, fun_user () o método é empregado passando a variável "eu".
  • Nesta função, se a condição for aplicada que restrinja a iteração a 10.
  • Finalmente, a mensagem “Bem -vindo ao JavaScript” é exibido usando o "console.registro()" método.

Saída

Solução 2: Usando o loop para resolver o tamanho máximo da pilha de chamadas excedido

Para resolver o erro, um loop é utilizado para limitar as iterações em JavaScript. Por exemplo, o código é dado abaixo.

Código

Deixe a saída = 0;
para (vamos i = 5; i> 0; i--)

saída += add (1, 1);

função add (a, b)
retornar a + b;

console.log (saída);

Neste código:

  • A variável "saída" é inicializado com um valor de 0.
  • Depois disso, um loop for utilizado para executar cinco iterações. Neste loop, o adicionar() O método é chamado passando o valor 1.
  • O método adicionar() Retorna a adição de duas variáveis a e b.
  • No final, oregistro() O método é empregado para exibir a saída na janela do console.

Saída

A saída retorna "10" Ao resolver o erro do tamanho máximo da pilha de chamadas em JavaScript.

Conclusão

O chamado infinito de funções recursivas ocorre como o “O tamanho máximo da pilha de chamadas excedeu o erro” em javascript. Este artigo explica as razões para causar esse tipo de erro. Depois, duas soluções, incluindo “Para loop” e “Declarações condicionais” são utilizados para resolver o erro. Portanto, as funções de chamada são restritas ao empregar essas soluções.