Our volunteers haven't translated this article into עברית yet. Join us and help get the job done!
Message
InternalError: too much recursion
Error type
What went wrong?
A function that calls itself is called a recursive function. In some ways, recursion is analogous to a loop. Both execute the same code multiple times, and both require a condition (to avoid an infinite loop, or rather, infinite recursion in this case). When there is too much or infinite recursion, JavaScript will throw this error.
Examples
This recursive function runs 10 times, as per the exit condition.
function loop(x) { if (x >= 10) // "x >= 10" is the exit condition return; // do stuff loop(x + 1); // the recursive call } loop(0);
Setting this condition to an extremely high value, won't work:
function loop(x) { if (x >= 1000000000000) return; // do stuff loop(x + 1); } loop(0); // InternalError: too much recursion