JavaScript中BOM通过window.location实现页面跳转:1. location.href或assign()跳转并保留历史记录;2. replace()替换当前页历史项,禁用后退;3. reload()刷新页面,可选强制从服务器加载。

JavaScript 中 BOM(Browser Object Model)通过 window.location 对象实现页面跳转与重定向,核心在于操作其属性和方法,而非依赖框架或第三方库。
用 location.href 跳转新页面(模拟点击链接)
设置 location.href 是最常用、最直观的方式,浏览器会加载新 URL 并在当前标签页中打开,历史记录中会保留原页面。
- 直接赋值字符串:
window.location.href = "https://example.com"; - 支持相对路径:
window.location.href = "/about.html"; - 可带查询参数:
window.location.href = "search.html?q=js&sort=date";
用 location.assign() 实现等效跳转
location.assign() 和设置 href 效果一致,语义更明确——“分配一个新地址”,适合强调意图的场景。
- 写法更规范:
window.location.assign("https://example.com"); - 同样会留下返回记录,用户可点击浏览器“后退”回到上一页
用 location.replace() 执行无痕重定向
location.replace() 用新页面**替换当前页面的历史记录项**,用户无法通过“后退”回到原页面。常用于登录成功跳转、支付完成页等无需回退的流程。
立即学习“Java免费学习笔记(深入)”;
- 示例:
window.location.replace("/dashboard.html"); - 注意:它不会触发
beforeunload事件,也不会在 history 中新增条目 - 适用于避免用户重复提交表单或防止刷新导致重复操作
用 location.reload() 刷新当前页面
虽然不是跳转,但属于导航控制的重要操作:location.reload() 可强制重新加载当前页面。
- 不传参或传
false:从缓存加载(默认行为) - 传
true:强制从服务器重新获取:window.location.reload(true); - 常配合状态变更使用,例如修改语言后刷新以应用新 locale


















