Web前端学习JS篇之“BOM”

本次分享BOM的常见知识:

BOM(核心是对window的操作,主要针对浏览器窗口交互,BOM包含了DOM)

BOM包括:document,location,navigator,screen,history

全局定义的变量会成为window的一个属性,比如var num = 1,其实变成了window.num

全局定义的函数变成了window的一个方法,window.fn(),之前的alert、prompt等都属于window


BOM常见的事件

窗口加载事件:window.onload,文档内容全部加载完成才会执行,这就允许了把JS代码放在首部,但此方法只能写一次,使用addEventlistener就没有限制了

DOMContentLoader,DOM加载完就执行,不包括样式表图片等

调整窗口大小:window.onresize,可以完成响应式布局

定时器:

window.setTimeout(回调函数,延迟毫秒数),定时炸弹效果,函数可以直接写入,也可以写名称,外层定义函数

window.clearTimeout(定时器名称)

window.setInterval(回调函数,延迟毫秒数),每间隔这个事件调用一次

window.clearInterval(定时器名称)


JS的执行队列

JS是单线程的,但是现在提供了多线程。

JS中的任务分为同步任务和异步任务。同步任务都在主线程上执行,形成一个执行栈。

异步任务都是回调函数,被放在任务队列(消息队列)中,分为三类:

普通事件:click,resize等

资源加载:load、error等

定时器:setInterval、setTimeout等,因为里边包含回调函数

所以JS的执行机制是这样的:先执行主线程执行栈中的同步任务,遇到异步任务时(在此先经过一个异步进程处理来判断是否放入任务队列)就放在任务队列中但不执行,继续去执行完同步任务,再去找异步任务并放在执行栈中去执行(类似于主车道和应急车道)。此过程中异步进程处理会不断地检测,所以形成了一个事件循环的过程。


location对象(用于获取或设置或解析URL)

URL:协议+域名:端口+路径+参数+锚点

location.href获取或设置整个URL

location.host返回域名

location.port返回端口

location.pathname返回路径

location.search返回参数

location.hash返回片段,如锚点

常见方法:

location.assign()重定向页面

location.replace()替换当前页面但不能后退

location.reload()重新加载页面


navigator对象(浏览器的信息)

UserAgent


history对象(与浏览器历史进行交互)

常用方法:

history.forward()

history.back()

history.go(1)/history.go(-1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值