Почему мы не завершаем работу сценария после перенаправления в Javascript?

Нам нужно сделать exit; после перенаправления в php, потому что exit; не останавливает выполнение остальной части кода.
Но почему мы не делаем что-то подобное в JavaScript.
Я хочу сделать что-то вроде

if(window.location.replace("http://something.com")){
return;
}

или же

window.location.replace("http://something.com");
throw "stop the execution.";

Мне нужно сделать это?
Если нет, то почему?

5

Решение

Почему мы должны сделать exit(); после перенаправления в php?

Когда вы делаете

header( "Location: ./somepage.php" );

Как php manual on header says, header () используется для отправки необработанного HTTP-заголовка.. Так что это не останавливает выполнение скрипта дальше. Он отправляет заголовок ответа, связанный с перенаправлением, обратно в браузер и продолжает выполнение кода ниже. Так exit() помешал бы сделать это.

Нужны ли нам return; после вызова window.location?

Код JS говорит браузеру перейти на другой URL. Итак, когда навигация завершена. Браузер переходит на новую страницу и код под window.location не будет выполняться в отличие от поведения php, описанного выше. Так что мы этого не требуем.

4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector