El tamaño máximo de la pila de llamadas excedió el error en JavaScript | Explicado

El tamaño máximo de la pila de llamadas excedió el error en JavaScript | Explicado

Las funciones recursivas son funciones que llaman a un método dentro de otro método. Sin embargo, la recursión infinita provoca un error de tamaño de pila. El error del tamaño de la pila se produce debido a la pendiente de muchas solicitudes. Este problema surge al llamar a la función misma. Al considerarlo, este artículo explica que el tamaño máximo de la pila de llamadas excede el error en JavaScript. Además, la solución también se proporciona para resolver el error.

El artículo nos sirve de la siguiente manera:

  • El tamaño máximo de la pila de llamadas excedió el error en JavaScript
  • Uso de la condición para resolver el tamaño máximo de la pila de llamadas excedió el error
  • Uso de For Loop para resolver el tamaño máximo de la pila de llamadas excedió el error.

El tamaño máximo de la pila de llamadas excedió el error en JavaScript

El tamaño del tamaño de la pila se produce cuando el usuario llama a la función recursiva. Este tipo de error ocurre debido a que invocar repetidamente un método. El Fun_user () se utiliza como una llamada recursiva dentro de la función Fun_user () en JavaScript para generar un error en la ventana de la consola.

Código

consola.log ("El tamaño máximo de la pila de llamadas excedido");
fun_user ();
función fun_user ()

fun_user ();

En este código, el "El tamaño máximo de la pila de llamadas excedió el error" se genera llamando a un método "Fun_user ()" Dentro de la función.

El código muestra el error como "RangeError: el tamaño máximo de la pila de llamadas superado."

Hay muchas formas de resolver este error, como en bucle y declaraciones condicionales, que se puede usar para limitar la llamada de función.

Solución 1: Uso de la condición IF para resolver el tamaño máximo de la pila de llamadas excedió el error

Para resolver el error, la condición IF se aplica para restringir el tamaño de la pila en JavaScript. Por ejemplo, el código se proporciona a continuación.

Código

var i = 1;
fun_user (i);
función fun_user (i)
si yo <= 10)

consola.Log ('Bienvenido a JavaScript');
i = i+1;
fun_user (i);

La descripción del código es la siguiente:

  • En primer lugar, una variable "i" se inicializa con el valor 1.
  • Después, Fun_user () El método se emplea pasando la variable "i".
  • En esta función, si se aplica la condición que restringe la iteración a 10.
  • Finalmente, el mensaje "Bienvenido a JavaScript" se muestra utilizando el "consola.registro()" método.

Producción

Solución 2: Uso de For Loop para resolver el tamaño máximo de la pila de llamadas excedió el error

Para resolver el error, se utiliza un bucle para limitar las iteraciones en JavaScript. Por ejemplo, el código se proporciona a continuación.

Código

Sea la salida = 0;
para (deja i = 5; i> 0; i--)

salida += add (1, 1);

función add (a, b)
devolver a + b;

consola.log (salida);

En este código:

  • La variable "producción" se inicializa con un valor de 0.
  • Después de eso, se utiliza un bucle para realizar cinco iteraciones. En este bucle, el agregar() El método se llama pasar el valor 1.
  • El método agregar() Devuelve la adición de dos variables a y b.
  • Al final, elregistro() Se emplea el método para mostrar la salida en la ventana de la consola.

Producción

La salida regresa "10" Al resolver el error del tamaño máximo de la pila de llamadas en JavaScript.

Conclusión

La infinita llamada de funciones recursivas ocurre como la "El tamaño máximo de la pila de llamadas excedió el error" en JavaScript. Este artículo explica las razones para causar este tipo de error. Después, dos soluciones, incluidas "en bucle" y "declaraciones condicionales" se utilizan para resolver el error. Por lo tanto, las funciones de llamadas están restringidas al emplear estas soluciones.