常用的BOM属性 - Kaiqisan

终于出狱了,今天重新恢复博客的更新,大致谈谈我复习面试上面的查漏补缺的内容。

首先讲讲什么是BOM?BOM简单来说就是浏览器对象,只有js在浏览器环境运行时才会被赋予的对象

  1. location对象

该对象内所有的属性都与URL有关,常常用于提取页面参数

现在以我的B站直播间为例https://live.bilibili.com/9291099?spm_id_from=333.999.0.0

location.href:返回当前地址的URL(字符串形式)

console.log(location.href)
// https://live.bilibili.com/9291099?spm_id_from=333.999.0.0

location.search:返回当前URL的参数

console.log(location.search)
//?spm_id_from=333.999.0.0

此时我们可以用字符串方法把参数转化为对象

location.host:返回当前URL的域名

console.log(location.host)
// live.bilibili.com
// 如果URL带端口号的话也会输出

location.hostname:返回当前URL的主域名

console.log(location.host)
// live.bilibili.com
// 不带端口

location.pathname: 返回当前地址的路由

console.log(location.pathname)
// /9291099

location.port返回端口

// 没有端口就返回空值

location.protocol():返回URL中的协议部分(应用层协议)

console.log(location.protocol)
// https:

location.assign: 设置当前URL地址,并记录至history(可快退返回前一个网页)

location.assign(URL) // URL: string

location.replace(URL):设置新的URL地址,会将原先的网页从history中替换出去(无法快退返回前一个网页)

location.repload():重新进入页面

  1. history对象

记录您之前浏览过的网页

history.go(num):指定前进或后退一定的页数

history.back(): 后退一页

history.forward(): 前进一页

  1. navigator对象

这个对象记录的是浏览器的基本信息,很少用,就不多赘述了

总结

其中,用 比较多的就是location,history对象,不仅面试H会考,在实际项目中也经常用到,希望能记住里面的主要属性。


版权声明:本文为qq_33933205原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。