Самый простой способ — это использовать рекурсивную функцию с гарантированным условием выхода через 100000 итераций. Функция вызывает сама себя.
function f(x){ x > 100000 ? console.log('Готово') : f(x+1) } f(1)
Мы используем «Условный Оператор» для возвращения из функции результата.
Результат работы — Ошибка «RangeError: Maximum call stack size exceeded» :
Когда функция возвращает саму себя, то фактически она не может вычислить конечного значения. В результате первая функция ждёт вторую, вторая третью, и так далее пока самая последняя из ста тысяч не наткнётся в условии на «x > 100000″ и завершится нормально. Только после этого результаты начнут возвращаться в первую функции и освобождать стек вызовов.