JavaScript快速入门笔记(9):window对象

本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正。转载请注明出处:https://www.cnblogs.com/itwhite/p/12244592.html

location 属性:标识当前文档的URL信息

location 属性用于标识当前页面的 URL 信息。

location 属性值是一个 Location 对象,其中包含 href、hostname、port、protocol 等属性以及 reload()、assign() 等方法,示例(假设当前页面地址为:http://a.b.c.d:8000/?q=test&action=query):

origin: "http://a.b.c.d:8000"
protocol: "http:"
host: "a.b.c.d:8001"
hostname: "a.b.c.d"
port: "8001"
pathname: "/"
search: "?action=query&string=test"    // 查询参数,问号及后面的内容
hash: ""
href: "http://a.b.c.d:8000/?action=query&string=test"
assign: ƒ assign()    // 可以用于重定向页面,与赋值给 window.location 效果类似
reload: ƒ reload()
replace: ƒ replace()  // 类似与 assign(),区别在于 assign() 操作后,当前页面会保留在历史记录中,而 replace() 则会从历史记录中删除当前页面

关于 Location 对象的属性和方法的更多描述,请参考:https://www.w3.org/TR/html52/browsers.html#the-location-interface

通过修改 location 对象的值,可以实现页面重定向,例如:

window.location = "https://www.baidu.com/";          // 跳转到百度首页
// 或者
window.location.href = "https://www.baidu.com/";     // 跳转到百度首页,与上面的代码效果一样

document 对象也包含一个 location 属性,它与 window 对象的 location 指向同一个对象,例如:

console.log(window.location === document.location); // true

history 属性:浏览历史记录

history 属性用于访问当前窗口的浏览历史记录,通过它可以实现类似于浏览器中的“前进”、“后退”按钮的功能,但不能直接访问历史记录中的URL信息(这是出于保护用户隐私的原因)。

history 引用的是 History 对象,其中包含一个 length 属性(用于记录历史记录数目)和 back()、forward()、go() 等函数。

更多关于 History 对象的描述请参考:https://www.w3.org/TR/html52/browsers.html#the-history-interface

完。

猜你喜欢

转载自www.cnblogs.com/itwhite/p/12244592.html