目录
JavaScript——BOM
1. BOM概述
BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window
BOM由一系列相关的对象构成,并且每个对象都提供了很多的方法和属性
BOM缺乏标准,JS语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是NetScape浏览器标准的一部分
2. window对象的常见事件
2.1 页面加载事件
window.onload是窗口(页面)加载事件,当文档内容(包括图像、脚本文件、CSS文件等)完全加载完成才触发该事件
DOMContentLoaded仅当DOM加载完成,不包括样式表,图片和flash等等
如果页面图片很多,从用户访问到onload触发可能需要很长时间,交互效果就不能实现,必然影响用户体验,此时用DOMContentLoaded事件比较合适
2.2 调整窗口大小事件
3. 定时器
3.1 setTimeout
3.2 clearTimeout
4. JS执行机制
4.1 this指向
this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,一般情况下this的最终指向是那个调用它的对象
现阶段,我们先了解几个this指向
- 全局作用域或者普通函数中this指向全局对象window(注意定时器里面的this指向window)
- 方法调用中,谁调用了这个方法,this就指向谁
- 构造函数中,this指向构造函数的实例
4.2 JS是单线程
4.3 同步和异步
4.4 JS执行机制