BOM详细介绍

本文详细介绍了浏览器对象模型(BOM)的各个方面,包括BOM的概述和构成,尤其是window对象的窗口加载事件和大小调整事件。深入讲解了定时器的使用,如setTimeout和clearTimeout,并探讨了JavaScript的执行机制,特别是同步和异步任务的执行流程。此外,还涉及location和navigator对象,以及history对象如何与浏览器历史记录交互。
摘要由CSDN通过智能技术生成

1.BOM概述


1.1-什么是BOM

BOM(Browser Object Model)即浏览器对象模型,它提供独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。

BOM缺乏标准,javascript语法的标准化组织是ECMA,BOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。

BOM DOM
浏览器对象模型 文档对象模型
浏览器当做一个对象看待 文档当做一个对象看待
BOM的顶级对象是window DOM的顶级对象是document
浏览器窗口交互的一些对象 操作页面的元素
浏览器厂商各自浏览器定义的,兼容性较差 W3C标准

1.2-BOM的构成

BOM比DOM大,它包含DOM
BOM比DOM大
window对象是浏览器的顶级对象,它具有双重角色。
1.它是js访问浏览器的一个窗口。
2.它是一个全局对象。定义在全局作用域中的变量、函数都会变成window对象的属性和方法。在调用的时候可以省略window,alert()、prompt()都属于window的对象方法。

注意:window下的一个特殊属性window.name
不建议在全局下var name


2.window对象常见的事件


2.1-窗口加载事件

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

window.onload是窗口(页面)加载事件,当文档内容完全加载完成会触发该事件(包括图象、脚本文件、css文件等),就调用处理函数。
注意:window.onload传统注册事件方式只能写一次,如果有多个,会以最后一个window.onload为准。而window.addEventListener不存在冲突问题。

document.addEventListener('DOMcontentLoaded',function(){
   })

DOMcontentLoaded事件触发时,仅当DOM加载完成,不包括样式表、图片、flash等。(IE9以上才支持)
如果页面的图片很多的话,从用户访问到onload触发可能需要较长的时间,交互效果就不能实现,必然影响用户的体验,此时用DOMContentLoaded事件比较合适。

2.2-调整窗口大小事件

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

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


3.定时器


3.1-两种定时器

setTimeout(function(){
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值