S'ha superat la mida màxima de la pila de trucades Error a JavaScript | Explicat

S Ha Superat La Mida Maxima De La Pila De Trucades Error A Javascript Explicat



Les funcions recursives són funcions que criden a un mètode dins d'un altre mètode. Tanmateix, la recursivitat infinita provoca un error de mida de pila. L'error de mida de la pila es produeix a causa de moltes sol·licituds pendents. Aquest problema sorgeix en cridar la funció en si. Tenint-ho en compte, aquest article explica que la mida màxima de la pila de trucades supera l'error de JavaScript. A més, també es proporciona la solució per resoldre l'error.

L'article ens serveix de la següent manera:







  • Error de mida màxima de la pila de trucades superada a JavaScript
  • S'utilitza if Condition per resoldre l'error de mida màxima de la pila de trucades
  • S'utilitza el bucle for per resoldre l'error de mida màxima de la pila de trucades superada.

Error de mida màxima de la pila de trucades superada a JavaScript

L'error de mida de pila superada es produeix quan l'usuari crida a la funció recursiva. Aquest tipus d'error es produeix a causa de la invocació repetida d'un mètode. El usuari_divertit() s'utilitza com a crida recursiva dins de la funció usuari_divertit() en JavaScript per generar un error a la finestra de la consola.



Codi



console.log ( 'S'ha superat la mida màxima de la pila de trucades' ) ;
usuari_divertit ( ) ;
funció usuari_divertit ( )
{
usuari_divertit ( ) ;
}





En aquest codi, el 'Error de mida màxima de la pila de trucades superada' es genera cridant un mètode 'fun_user()' dins de la funció.



El codi mostra l'error com a 'RangeError: s'ha superat la mida màxima de la pila de trucades'.

Hi ha moltes maneres de resoldre aquest error, com ara per bucle i enunciats condicionals , que es pot utilitzar per limitar la trucada de funció.

Solució 1: s'utilitza if Condition per resoldre la mida màxima de la pila de trucades ha superat l'error

Per resoldre l'error, s'aplica la condició if per restringir la mida de la pila a JavaScript. Per exemple, el codi es mostra a continuació.

Codi

era i = 1 ;
usuari_divertit ( i ) ;
funció usuari_divertit ( i ) {
si ( i < = 10 )
{
console.log ( 'Benvingut a JavaScript' ) ;
i =i+ 1 ;
usuari_divertit ( i ) ;
} }

La descripció del codi és la següent:

  • En primer lloc, una variable 'jo' s'inicialitza amb el valor 1.
  • Després d'això, usuari_divertit() s'utilitza el mètode passant la variable 'i'.
  • En aquesta funció, si s'aplica la condició que restringeix la iteració a 10 .
  • Finalment, el missatge 'Benvingut a JavaScript' es mostra amb el 'console.log()' mètode.

Sortida

Solució 2: s'utilitza for Loop per resoldre l'error de mida màxima de la pila de trucades superada

Per resoldre l'error, s'utilitza un bucle for per limitar les iteracions en JavaScript. Per exemple, el codi es mostra a continuació.

Codi

deixar sortida = 0 ;
per ( deixar i = 5 ; i > 0 ; jo-- )
{
sortida += suma ( 1 , 1 ) ;
}
funció afegir ( a, b ) {
tornar a + b;
}
console.log ( sortida ) ;

En aquest codi:

  • La variable 'sortida' s'inicia amb un valor de 0.
  • Després d'això, s'utilitza un bucle for per realitzar cinc iteracions. En aquest bucle, el afegir() El mètode s'anomena passant el valor 1.
  • El mètode afegir() retorna la suma de dues variables a i b .
  • Al final, el registre() s'utilitza el mètode per mostrar la sortida a la finestra de la consola.

Sortida

La sortida torna “10” resolent l'error de la mida màxima de la pila de trucades a JavaScript.

Conclusió

La crida infinita de funcions recursives es produeix com a 'Error de mida màxima de la pila de trucades superada' en JavaScript. En aquest article s'expliquen les raons per les quals es produeix aquest tipus d'error. Després, dues solucions, incloses 'per bucle' i 'Declaracions condicionals' s'utilitzen per resoldre l'error. Per tant, les funcions de crida es restringeixen utilitzant aquestes solucions.