BOM概述
BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是window。
- 把浏览器当做一个对象来看待
- BOM的顶级对象是window
- BOM学习的是浏览器窗口交互的对象
BOM的组成
BOM包含着DOM
window对象
- window对象是浏览器的顶级对象
- window是JS访问浏览器窗口的一个接口
- window是一个全局对象,定义在全局作用域中的变量、函数都会变成window对象的属性和方法,但在调用的时候可以省略window,如alert(),console.log()等都属于window的方法。
- window有一个特殊的属性:window.name,因此不能把变量命名为name
window对象的常见事件
- 窗口加载事件(load、DOMContentLoad)
- window.onload,窗口(页面)加载事件,当文档内容完全加载完成就会触发该事件(包括图像、脚本文件等)然后调用相关的处理函数。
有onload以后就可以把JS的代码写到页面元素代码的上方,因为页面元素全部加载完毕之后就会执行onload的处理函数;
如果用传统的注册方式,onload只能写一次,有多个的话就以最后一个为准
//传统注册方式
<script>
//注意不能把btn写在onload函数外,因为这个时候还没加载到button那儿去,btn即使获取了事件源也为null
//var btn = document.querySelector('button');
window.onload = function(){
//应该写在里面
var btn = document.querySelector('button');
btn.addEventListener('click',function(){
alert('123');
})
}
</script>
<button>123</button>
//方法监听注册方式
<script>
window.addEventListener('load',functi