Le funzioni ricorsive sono funzioni che chiamano un metodo all'interno di un altro metodo. Tuttavia, la ricorsione infinita provoca un errore di dimensioni dello stack. L'errore di dimensioni dello stack si verifica a causa del pendente di molte richieste. Questo problema sorge quando si chiama la funzione stessa. Considerandolo, questo articolo spiega che la dimensione massima dello stack di chiamata supera l'errore in JavaScript. Inoltre, viene fornita anche la soluzione per risolvere l'errore.
L'articolo ci serve come segue:
Dimensione massima dello stack di chiamata Supera l'errore in JavaScript
La dimensione dello stack superata si verifica quando l'utente chiama la funzione ricorsiva. Questo tipo di errore si verifica a causa dell'invocazione ripetuta di un metodo. IL fun_user () viene utilizzato come chiamata ricorsiva all'interno della funzione fun_user () In JavaScript per generare un errore nella finestra della console.
Codice
console.registro ("dimensione massima dello stack di chiamata superata");
fun_user ();
funzione fun_user ()
fun_user ();
In questo codice, il "La dimensione massima dello stack di chiamata ha superato l'errore" viene generato chiamando un metodo "Fun_user ()" All'interno della funzione.
Il codice visualizza l'errore come “RangeError: la dimensione massima dello stack di chiamata superata."
Esistono molti modi per risolvere questo errore, come per loop E dichiarazioni condizionali, che può essere utilizzato per limitare la chiamata di funzione.
Soluzione 1: utilizzando se la condizione per risolvere la dimensione massima dello stack di chiamata 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
var i = 1;
fun_user (i);
funzione fun_user (i)
se io <= 10)
console.log ('Welcome to JavaScript');
i = i+1;
fun_user (i);
La descrizione del codice è la seguente:
Produzione
Soluzione 2: utilizzando per loop per risolvere la dimensione massima dello stack di chiamata superata
Per risolvere l'errore, viene utilizzato un ciclo per limitare le iterazioni in JavaScript. Ad esempio, il codice è riportato di seguito.
Codice
output Let = 0;
per (let i = 5; i> 0; i--)
output += add (1, 1);
funzione add (a, b)
restituire a + b;
console.registro (output);
In questo codice:
Produzione
L'output restituisce "10" Risolvendo l'errore della dimensione massima dello stack di chiamata in JavaScript.
Conclusione
L'infinita chiamata di funzioni ricorsive si verifica come "La dimensione massima dello stack di chiamata ha superato l'errore" In JavaScript. Questo articolo spiega i motivi per causare questo tipo di errore. Successivamente, due soluzioni, tra cui "Per loop" E "Dichiarazioni condizionali" vengono utilizzati per risolvere l'errore. Quindi, le funzioni di chiamata sono limitate impiegando queste soluzioni.