La dimensione massima dello stack di chiamate ha superato l'errore in JavaScript | Spiegato

La Dimensione Massima Dello Stack Di Chiamate Ha Superato L Errore In Javascript Spiegato



Le funzioni ricorsive sono funzioni che chiamano un metodo all'interno di un altro metodo. Tuttavia, la ricorsione infinita provoca un errore di dimensione dello stack. L'errore di dimensione dello stack si verifica a causa della attesa di molte richieste. Questo problema sorge quando si chiama la funzione stessa. Considerandolo, questo articolo spiega che la dimensione massima dello stack di chiamate supera l'errore in JavaScript. Inoltre, viene fornita anche la soluzione per risolvere l'errore.

L'articolo ci serve come segue:







  • La dimensione massima dello stack di chiamate ha superato l'errore in JavaScript
  • Utilizzando if Condition per risolvere la dimensione massima dello stack di chiamate ha superato l'errore
  • L'utilizzo del ciclo for per risolvere la dimensione massima dello stack di chiamate ha superato l'errore.

La dimensione massima dello stack di chiamate ha superato l'errore in JavaScript

L'errore di superamento della dimensione dello stack si verifica quando l'utente chiama la funzione ricorsiva. Questo tipo di errore si verifica a causa del richiamo ripetuto di un metodo. Il utente_divertente() viene utilizzato come chiamata ricorsiva all'interno della funzione utente_divertente() in JavaScript per generare un errore nella finestra della console.



Codice



console.log ( 'Dimensione massima dello stack di chiamate superata' ) ;
utente_divertente ( ) ;
funzione utente_divertente ( )
{
utente_divertente ( ) ;
}





In questo codice, il 'La dimensione massima dello stack di chiamate ha superato l'errore' viene generato chiamando un metodo 'utente_divertente()' all'interno della funzione.



Il codice mostra l'errore come 'RangeError: superata la dimensione massima dello stack di chiamate.'

Esistono molti modi per risolvere questo errore, ad esempio per ciclo e affermazioni condizionali , che può essere utilizzato per limitare la chiamata di funzione.

Soluzione 1: utilizzare se la condizione per risolvere la dimensione massima dello stack di chiamate ha superato l'errore

Per risolvere l'errore, viene applicata la condizione if per limitare la dimensione dello stack in JavaScript. Ad esempio, il codice è riportato di seguito.

Codice

era io = 1 ;
utente_divertente ( io ) ;
funzione utente_divertente ( io ) {
Se ( io < = 10 )
{
console.log ( 'Benvenuto in JavaScript' ) ;
io =io+ 1 ;
utente_divertente ( io ) ;
} }

La descrizione del codice è la seguente:

  • Innanzitutto una variabile 'io' viene inizializzato con il valore 1.
  • Dopo di che, utente_divertente() il metodo viene impiegato passando la variabile 'io'.
  • In questa funzione, se viene applicata una condizione che limita l'iterazione a 10 .
  • Infine, il messaggio 'Benvenuto in JavaScript' viene visualizzato utilizzando il 'console.log()' metodo.

Produzione

Soluzione 2: utilizzo di for Loop per risolvere l'errore di superamento della dimensione massima dello stack di chiamate

Per risolvere l'errore, viene utilizzato un ciclo for per limitare le iterazioni in JavaScript. Ad esempio, il codice è riportato di seguito.

Codice

permettere uscita = 0 ;
per ( permettere io = 5 ; io > 0 ; io-- )
{
uscita += aggiungi ( 1 , 1 ) ;
}
funzione Inserisci ( a, b ) {
Restituzione a + b;
}
console.log ( produzione ) ;

In questo codice:

  • La variabile 'produzione' viene inizializzato con un valore di 0.
  • Successivamente, viene utilizzato un ciclo for per eseguire cinque iterazioni. In questo ciclo, il Inserisci() il metodo viene chiamato passando il valore 1.
  • Il metodo Inserisci() restituisce la somma di due variabili un e b .
  • Alla fine, il tronco d'albero() viene utilizzato per visualizzare l'output nella finestra della console.

Produzione

L'uscita ritorna “10” risolvendo l'errore della dimensione massima dello stack di chiamate in JavaScript.

Conclusione

La chiamata infinita di funzioni ricorsive si verifica come il 'La dimensione massima dello stack di chiamate ha superato l'errore' in JavaScript. Questo articolo spiega i motivi per cui si verifica questo tipo di errore. Successivamente, due soluzioni, tra cui 'per ciclo' e 'dichiarazioni condizionali' vengono utilizzati per risolvere l'errore. Pertanto, le funzioni di chiamata sono limitate utilizzando queste soluzioni.