窗口之间有什么区别。Location和document。Location ?它们是否都引用同一个对象?
当前回答
Document.location.constructor === window.location.constructor为true。
这是因为它与document.location===window.location中看到的对象完全相同。
因此,不需要比较构造函数或任何其他属性。
其他回答
获取当前位置对象的规范方法是window。位置(参见1996年的MSDN页面和2006年的W3C草案)。
将此与文档进行比较。location,它最初只返回当前URL作为字符串(请参阅MSDN上的此页)。可能是为了避免混淆,文档。位置已替换为文档。URL(请参阅MSDN),它也是DOM级别1的一部分。
据我所知,所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。location,因为这是我自编写第一个DHTML以来一直使用的。
是的,它们是一样的。这是浏览器JS API的众多历史怪癖之一。试着做:
window.location === document.location
文档。Location ===窗口。Location返回true
also
Document.location.constructor === window.location.constructor为true
注:仅在Firefox 3.6、Opera 10和IE6上测试
文档。location最初是一个只读属性,尽管Gecko浏览器也允许你为它赋值。为了跨浏览器安全,请使用window。位置相反。
阅读更多:
document.location
window.location
据我所知,两者是一样的。为了跨浏览器安全,您可以使用window。Location而不是document.location。
所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。自从我写了我的第一个网页,我就一直使用这个地址。它更加一致。
你也可以看到文档。Location ===窗口。Location返回true,这说明两者是相同的。