Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Programmazione Javascript >> .

Come riparare un Out of stack errore di spazio in JavaScript

La chiave per fissare un " di spazio di stack " errore , anche più generalmente conosciuto come un errore di overflow dello stack , è prima capire che cosa significa. Quando viene richiamata una funzione in JavaScript , la funzione e le sue variabili vengono copiati nella memoria in quella che viene chiamata la pila . Se tale funzione chiama un'altra funzione ( o di nuovo la stessa funzione ) , poi si aggiunge anche la funzione bambino allo stack . Se questa forma di chiamata ricorsiva di funzioni supera il limite di ricorsione che è definita dal browser , in seguito lo JavaScript verrà restituito un errore di overflow dello stack . Istruzioni
1

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