Урок С# 49: Что такое рекурсия. Переполнение стека. Стек вызовов
Принципы программирования: стек и куча: что это такое?
С каждым годом мы применяем для программирования всё более продвинутые языки, позволяющие писать меньше кода, но получать нужные нам результаты. Однако всё это не проходит даром для разработчиков. Так как программисты всё реже занимаются низкоуровневыми вещами, уже никого не удивляет ситуация, когда разработчик не вполне понимает, что означают такие понятия, как куча и стек. Что это такое, как происходит компиляция на самом деле, в чём разница между динамической и статической типизацией... К сожалению,...
Что означает ошибка Uncaught RangeError: Maximum call stack size exceeded
Это когда вызывается слишком много вложенных функций Ситуация: заказчик попросил разместить на странице кликабельную картинку, а чтобы на неё обратило внимание больше посетителей, попросил сделать вокруг неё моргающую рамку. Логика моргания в скрипте очень простая: Код простой, поэтому делаем всё в одном файле: Но при открытии страницы в браузере мы видим, что ничего не моргает, а в консоли появилась ошибка: Uncaught RangeError: Maximum call stack size exceeded
Что это значит: в браузере произошло переполнение стека вызовов и из-за этого он не может больше выполнять этот скрипт...