为什么不';我们在Javascript中重定向后退出/终止脚本


Why don't we exit/die a script after redirect in Javascript?

我们需要在php中重定向后执行exit;,因为exit;不会停止其余代码的运行。但是为什么我们不在javascript中做这样的事情呢。我想做一些类似的事情

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

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

我需要那样做吗?如果不是,为什么?

为什么我们需要在php中重定向后执行exit();

当你做

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

作为php manual on header saysheader()用于发送原始HTTP标头。因此,它不会阻止脚本进一步执行。它将与重定向相关的响应标头发送回浏览器,并继续执行下面的代码。所以exit()会阻止这样做。

window.location调用后,我们需要return;

JS代码表示浏览器要导航到另一个url。导航完成后也是如此。浏览器导航到新页面,window.location下面的代码将不会执行,这与上面解释的php行为不同。所以我们不需要它。