You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

空字符串传入location.replace()的行为探究

空字符串传入location.replace()的行为探究

嘿,我来给你拆解下当你把空字符串传给location.replace('')时会发生啥~

当你执行这段代码时:

location.replace('');

浏览器会把当前页面的历史记录条目替换为当前站点的根路径。举个例子,要是你现在在https://your-site.com/articles/123这个页面,执行后会直接跳转到https://your-site.com/,而且这个跳转不会在浏览器历史里新增条目——也就是说,你点返回按钮会回到上上个页面,而不是刚才的文章详情页。

为啥会有这种行为呢?因为空字符串在URL解析规则里会被识别为当前URL的基准路径,location.replace()方法就会用这个解析后的根路径去替换当前的历史记录项,完成跳转。

要是你是不小心传入了空字符串导致了意外跳转,建议在调用前先做个简单的非空校验,比如:

const targetUrl = ''; // 这里是你的目标URL变量
if (targetUrl.trim()) {
  location.replace(targetUrl);
}

备注:内容来源于stack exchange,提问作者Tamás Bolvári

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:24:32