我对window.location和location.href之间的区别感到困惑。两者似乎都在以同样的方式行事。
有什么关系?
发布于 2012-03-28 16:26:50
window.location是一个对象,它保存有关当前文档位置(主机、href、端口、协议等)的所有信息。
location.href是window.location.href的缩写(您从全局对象-窗口调用location,所以这是window.location.href),这只是一个包含当前网站完整URL的字符串。
当您为它们分配一个URL时,它们的行为是相同的-它们将重定向到您分配的页面,但当您打开浏览器控制台(firebug或开发人员工具)并编写window.location和location.href时,您可以看到它们之间的差异。
发布于 2014-09-10 02:51:04
它们是不同的。window.location是一个包含属性href的对象,该属性是一个字符串。
正如您所注意到的,设置 window.location和window.location.href的行为方式相同,因为它很久以前就内置于JavaScript语言中。在这个question about setting window.location中阅读更多。
获取 window.location和window.location.href的行为不同,因为前者是一个对象,而后者是一个字符串。如果运行像indexOf()或toLowerCase()这样的字符串函数,则必须使用window.location.href。
发布于 2012-03-28 16:26:47
除了href之外,window.location还有其他属性,但是如果您给window.location分配一个URL,它将重定向。
您可以在中看到它的所有属性(如search、protocol、hash等)。
https://stackoverflow.com/questions/9903659
复制相似问题