Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako opraviť miesta v zásobníku chyba v JavaScripte

Kľúčom k upevneniu " Nedostatok miesta zásobníka " chyba , zobrazí sa tiež všeobecne známy ako chyba pretečenia zásobníka , je najprv pochopiť , čo to znamená . Keď funkcia je volaná v JavaScriptu , funkcie a jeho premenné sú skopírované do pamäte , čo sa nazýva stack . Keď je táto funkcia volá inú funkciu ( alebo rovnakú funkciu znova ) , potom funkcia dieťaťa sa tiež pridávať do stohu . Keď je táto forma rekurzívne volanie funkcií prekračuje limit pre rekurzia , ktorý je definovaný v prehliadači , potom JavaScript vráti chybu pretečeniu zásobníka . Návod dovolená 1

Kontrola nekonečne cyklické funkcie . Jedná sa o najjednoduchší a najčastejšou príčinou chyby pretečeniu zásobníka . Kedykoľvek funkcia volá sama seba , použite podmienené príkazy , aby zabezpečili , že funkcia nemôže nikdy slučka sám do chybe pretečeniu . Použite proti premennú alebo inicializácia premennej , alebo skontrolujte hodnotu premennej , ktorá je manipulovať pomocou funkcie určiť, či alebo nie to bolo už vykonané .
2

Pozrite sa na dvoch alebo viacerých funkcií , ktoré volajú každý iného k vytvoreniu nekonečnej slučky . Kedykoľvek jedna funkcia volá iný , byť si vedomý , že v prípade , že druhá funkcia volá späť ako prvý , môže to byť možné , aby kód na slučke v rámci týchto funkcií . To môže dokonca stať , s viac ako dvoma funkciami , a to môže byť oveľa ťažšie rozpoznať , ako jednu funkciu smyčkování . Riešením je rovnaký v oboch smeroch : Použite podmienené príkazy na zaistenie kód proti opakovaniu nekonečne
3

Pozrite sa na vysokej úrovní rekurzie , ktoré sú potrebné pre funkciu vykonať .. Niekedy hlboko rekurzívne funkcie nie sú dohľad , ale sú súčasťou návrhu kódexu . Ak je to váš prípad , potom uvidíme, či funkcie môžu byť rozdelené do viacerých funkcií , ktoré sú spustené v sérii , každý s nižšou úrovňou rekurzia .
4

Zostavte si svoj ​​vlastný zásobník . Urobte to tým , že vytvorí pole , ktoré bude spravovať premenné funkcia vyžaduje na spustenie a potom volanie funkcie v slučke . Uložením týchto premenných a potom volanie funkcie postupne od slučky , môžete napodobniť správanie rekurzívne funkcie bez toho, aby sa spoliehať na JavaScript v zásobníku správaní .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené