【JavaScript基础】BOM介绍

BOM(Browser Object Model)即浏览器对象模型,它提供了一些对象用来与浏览器进行交互,其核心对象是 window。

1. window

window 对象是浏览器的顶级对象,是 JS 访问浏览器窗口的一个接口。也是一个全局对象,定义在全局作用域中的变量、函数都会变成 window 对象的属性和方法。

注:在调用的时候可以省略 window

window 对象的方法:alert()、prompt()、confirm()、setInterval()、setTimeout()、open()等。

window对象提供了两个定时器函数:setInterval() 和 setTimeout()。 具体的可以看看之前写的这篇文章《js中常用的两种定时器》

2. window 对象的常见事件

  • 窗口加载事件

    window.onload = function(){};
    window.addEventListener("load",function(){}); 
    

    window.onload 是窗口 (页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS 文件等)。

注意:

有了 window.onload 就可以把 JS 代码写到页面元素的上方,因为 onload 是等页面内容全部加载完毕, 再去执行处理函数。

window.onload 传统注册事件方式 只能写一次,如果有多个,会以最后一个为准。如果使用 addEventListener 则没有限制

  • 调整窗口大小事件

    window.onresize = function(){}
    window.addEventListener("resize",function(){}); 
    

    window.onresize 是调整窗口大小加载事件

注意:

  • 只要窗口大小发生像素变化,就会触发这个事件。
  • 经常利用这个事件完成响应式布局。window.innerWidth 当前屏幕的宽度

3. location 对象

​ 用于获取或设置窗体的 URL,并且可以用于解析 URL

  • 统一资源定位符 (Uniform Resource Locator, URL)

    是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

​ URL 的一般语法格式为:protocol://host[:port]/path/[?query]#fragment

protocol:通信协议 (常用的http、ftp等)
host: 主机(域名)
port: 端口号(可选,省略时使用协议默认端口,如http的默认端口为80)
path: 路径(是零或多个‘/’隔开的字符串)
qurey: 参数(以通过‘&’隔开的键值对形式展示)
fragment: 片段(#后面的内容,常见于链接锚点)

  • location 对象的属性
属性说明
herf设置或者返回参数url
host返回主机名(域名)
port返回端口号
pathname返回路径
search返回参数
  • location对象的常见方法
方法说明
assign()重定向页面(和href一样,可以跳转页面)
replace()替换当前页面,不能操作页面前进、后退
reload()重载当前页面,相当于刷新按钮或者f5(如果参数为true,则为强制刷新 ctrl+f5)

4. navigator 对象

navigator 对象包含有关浏览器的信息,它有很多属性,我们最常用的是 userAgent,该属性可以返回由客户端发送服务器的 user-agent 头部的值,可以判断用户使用什么终端打开页面

判断当前环境是移动端还是 PC 端

function isPc() {
  var userAgentInfo = navigator.userAgent
  var Agents = new Array(
    'Android',
    'iPhone',
    'SymbianOS',
    'Windows Phone',
    'iPad',
    'iPod'
  )
  var flag = true
  flag = !Agents.some((ele) => {
    return userAgentInfo.indexOf(ele) > 0 
  })
  return flag
}
isPc() 

5. history 对象

history 对象可以操作浏览器历史记录。该对象包含用户(在浏览器窗口中)访问过的 URL。( 一般在OA 办公系统中使用)

方法说明
history.back()后退功能,相当于浏览器的后退按钮
history.forword()前进功能,相当于浏览器的前进按钮
history.go(带参数)跳转到指定的页面,参数为指定页面的位置,如果为负数则表示后退。还可以是一个字符串类型的url

6. screen对象

该对象用于获取有关客户端显示屏幕的一些信息

属性说明
height返回整个浏览器的高度
width返回整个浏览器的宽度
pixelDepth返回屏幕的分辨率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值