window.location和window.location.href和document.location的关系

1,首先来区分window.location和window.location.href。

window.location.href是一个字符串。

而window.location是一个对象,包含属性有

hash 从井号 (#) 开始的 URL(锚)
host 主机名和当前 URL 的端口号
hostname 当前 URL 的主机名
href 完整的 URL
pathname 当前 URL 的路径部分
port 当前 URL 的端口号
protocol 当前 URL 的协议
search 从问号 (?) 开始的 URL(查询部分)

所以它们是包含关系,location 是 location.href 的简写,无论是访问还是赋值。从本质上来讲,location是一个对象,location.href是它的一个属性。这种怪异的行为无疑是为了兼容。

2,document.location和window.location的区别就是
document你可以理解为文档,就是你的网页
window理解为窗口,就是你的ie浏览器包含的。


无框架:简单的说,没有框架的情况下,是等同的
有框架:在有框架的情况下,最外层是相同的,在iframe里面的document.location和window.location不同的。
iframe里面的document.location 你看不ie地址变化,只改变iframe部分,
此时的window.location和top.location效果一致

原文地址:https://www.cnblogs.com/zhangyabin---acm/p/5265092.html