浏览器的location对象拥有很多方便的属性用于获取当前URL的组成部分: location.protocol:协议名 location.username:用户名 location.password:密码 location.hostname:主机名 location.port:端口号 location.host:主机名和端口号 location.pathname:路径 location.search:查询串 location.hash:书签名 在较新(未测试,估计是支持跨域XHR之后的)浏览器中,还有 location.origin:协议名、主机名和端口号 可以使用。 可以看出location的属性是非常方便的URL解析器。但是其局限是只能解析当前URL的组成部分。如果我们要解析任意URL的组成部分,使用location是无法完成的。location的构造器Location是无法在JavaScript中手动创建的。所以如果我们要解析任意URL还需要找别的办法。