Controlla per una funzione infinitamente looping . Questa è la causa più semplice e comune di un errore di overflow dello stack . Ogni volta che una funzione chiama se stessa , utilizzare istruzioni condizionali per garantire che la funzione può mai anello di se stesso in un errore di overflow . Utilizzare una variabile contatore o una variabile di inizializzazione , o controllare il valore di una variabile che è manipolato dalla funzione per determinare se o non è stato eseguito già .
2
Controllare per due o più funzioni che chiamano ogni all'altro per formare un ciclo infinito . Ogni volta che una funzione chiama un'altra , essere consapevoli che se la seconda funzione richiama la prima , può essere possibile per il codice di ciclo all'interno di tali funzioni. Questo può accadere anche con più di due funzioni , e può essere molto più difficile da individuare di una funzione di loop . La soluzione è la stessa in entrambi i modi : utilizzare istruzioni condizionali per salvaguardare il codice contro looping infinitamente
3
Controllare per alti livelli di ricorsione che sono necessari per una funzione da eseguire . . A volte profondamente funzioni ricorsive non sono una svista , ma fanno parte del progetto del codice . Se questo è il caso , poi vedere se la funzione può essere suddiviso in molteplici funzioni che vengono eseguite in serie , ciascuna con un minore livello di ricorsione .
4
Costruisci il tuo stack. A tale scopo, la creazione di un array che gestirà le variabili della funzione richiede di eseguire e quindi chiamare la funzione all'interno di un ciclo . Memorizzando le variabili e quindi chiamare la funzione in sequenza da un ciclo, si può imitare il comportamento di una funzione ricorsiva senza fare affidamento sul comportamento dello stack di JavaScript .
Programmazione © www.354353.com