本文详细解析 JavaScript 中 Location 对象的各项属性,包括 protocol、hostname、port、pathname、hash 和 search 的具体用法及返回值。同时介绍了 reload() 用于刷新页面和 replace() 用于替换当前历史记录的方法,帮助开发者掌握 URL 操作与页面跳转技巧。
Location 对象概述
Location 对象用于描述当前窗口所打开的网页地址。若需获取当前窗口的地址信息,直接引用 location 即可;若需操作特定窗口的地址,则通过“<窗口对象>.location”的形式进行访问。

URL 属性详解
protocol 属性返回 URL 的协议部分,常见的返回值包括 'http:'、'https:' 和 'file:' 等。
hostname 属性返回 URL 的主机名部分。例如,对于地址“http://www.microsoft.com/china/”,location.hostname 的值为 'www.microsoft.com'。
port 属性返回 URL 的端口号。通常情况下,HTTP 协议的默认端口号为 '80'。
host 属性返回主机名与端口号的组合,格式如 'www.a.com:8080'。
pathname 属性返回 URL 的路径名部分。例如,对于地址“http://www.a.com/b/c.html”,location.pathname 的值为 'b/c.html'。
hash 属性返回 URL 中“#”符号及其后的内容。例如,对于地址“http://www.a.com/b/c.html#chapter4”,location.hash 的值为 '#chapter4';若 URL 中不包含“#”,则返回空字符串。
search 属性返回 URL 中“?”符号及其后的查询字符串部分。例如,对于地址“http://www.a.com/b.asp?selection=3&jumpto=4”,location.search 的值为 '?selection=3&jumpto=4';若 URL 中不包含“?”,则返回空字符串。
href 属性返回完整的 URL 字符串,即地址栏中显示的全部内容。若需通过脚本打开指定地址,可赋值给 location.href,或直接赋值给 location 本身,两者均可实现页面跳转。
Location 常用方法
Location 对象提供了以下常用方法:
reload() 方法用于刷新当前页面,其效果等同于点击浏览器上的“刷新”(IE)或“Reload”(Netscape)按钮。
replace() 方法用于加载新的 URL,并替换当前历史记录中的条目。使用该方法跳转后,用户无法通过浏览器的“后退”按钮返回到之前的页面。