Нет реального «прерывателя» для запуска кода Javascript в браузере. ECMAscript выполняется в так называемом «потоке пользовательского интерфейса», что означает, что все элементы рендеринга происходят в той же очереди, в которой выполняется код ECMAscript.
Это, в свою очередь, означает, что бесконечный цикл в ECMAscript автоматически приводит к зависанию всего взаимодействия браузеров.
Единственный способ избежать этого - писать чистый, чистый код. Если это все равно происходит, большинство браузеров понимают, что поток пользовательского интерфейса слишком долго занят, и спрашивает пользователя, хочет ли он отменить запущенные процессы javascript. Если вы не хотите ждать этого, ваш единственный выбор - убить весь процесс браузера / вкладки.
Однако, если вы знаете, что некоторая часть вашего скрипта может вызвать бесконечный цикл, вы можете либо вручную установить breakpoints
в каком-то виде developer tools
, либо вставить ключевое слово debugger;
непосредственно в ваш скрипт , Это приводит к остановке интерпретатора javascript в текущей строке, и у вас есть возможность проанализировать следующий код (например, условия) и отменить выполнение, если оно выглядит плохо.