InternalError: too much recursionТип оÑибки ЧÑо поÑло не Ñак?
ФÑнкÑиÑ, вÑзÑваÑÑÐ°Ñ Ñама ÑебÑ, назÑваеÑÑÑ ÑекÑÑÑивной ÑÑнкÑией. РнекоÑоÑом ÑмÑÑле ÑекÑÑÑÐ¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñна ÑиклÑ. Ðба вÑполнÑÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ код неÑколÑко Ñаз, и оба ÑÑебÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ (ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð±ÐµÑконеÑного Ñикла или, веÑнее, беÑконеÑной ÑекÑÑÑии в ÑÑом ÑлÑÑае). Ðогда ÑÑнкÑÐ¸Ñ Ð²ÑзÑваеÑÑÑ ÑекÑÑÑивно ÑлиÑком много Ñаз или беÑконеÑно, JavaScript вÑдаÑÑ ÑÑÑ Ð¾ÑибкÑ.
ÐÑимеÑÑФÑнкÑÐ¸Ñ Ð²ÑполнÑеÑÑÑ ÑекÑÑÑивно 10 Ñаз, в ÑооÑвеÑÑÑвии Ñ ÑÑловием вÑÑ Ð¾Ð´Ð°:
function loop(x) {
if (x >= 10) {
// "x >= 10" ÑÑо ÑÑловие вÑÑ
ода
return;
}
// do stuff
loop(x + 1); // ÑекÑÑÑивнÑй вÑзов
}
loop(0);
Ð ÑÑловии ÑÑÑановлено ÑлиÑком болÑÑое знаÑение, не бÑÐ´ÐµÑ ÑабоÑаÑÑ:
function loop(x) {
if (x >= 1000000000000) return;
// do stuff
loop(x + 1);
}
loop(0);
// InternalError: too much recursion
СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4