浏览器对象模型BOM详解:事件与定时器

需积分: 5 0 下载量 31 浏览量 更新于2024-09-06 收藏 11KB DOCX 举报
“BOM browser objcet model.docx”涵盖了关于浏览器对象模型(BOM)的基本概念、重要事件、定时器以及JavaScript执行机制的关键知识点。 **浏览器对象模型(BOM)** BOM全称为Browser Object Model,它允许JavaScript与浏览器进行交互。在BOM中,最核心的对象是`window`,它是所有全局变量和函数的容器。通过`window`对象,我们可以访问到其他关键对象,如`document`、`location`、`navigation`、`history`、`screen`等。 **关键对象** 1. **`document`**: 表示整个HTML文档,提供操作DOM(文档对象模型)的接口。 2. **`location`**: 提供了有关当前URL的信息,并允许我们进行页面重定向。其属性如`href`用于获取或设置URL,`search`用于获取URL后面的查询字符串。 3. **`history`**: 记录用户在浏览器中的浏览历史,但不包含具体的页面内容。 4. **`navigation`**: 提供了导航相关的属性和方法,如`length`表示历史记录的数量。 5. **`screen`**: 提供有关用户屏幕的信息,如分辨率、颜色深度等。 **事件** 1. **`load`**: 当整个页面,包括所有资源(如图片)加载完成时触发。 2. **`DOMContentLoaded`**: 只等待DOM结构构建完成后触发,不等待外部资源。 3. **`resize`**: 当浏览器窗口尺寸变化时触发。 4. **`pageShow`**: 页面可见时触发,通常用于页面重新进入焦点的情况。 **定时器** 1. **`setTimeout`**: 设置一个延时执行的函数,只执行一次。例如:`var timeId = setTimeout(fn, 延迟时间)`,`clearTimeout(timeId)`用于取消定时器。 2. **`setInterval`**: 定时重复执行一个函数,例如:`var timeId = setInterval(fn, 延迟时间)`,`clearInterval(timeId)`用于停止定时器。 **JavaScript执行机制** JavaScript的执行分为同步和异步两种模式。同步执行遵循顺序,一个任务完成后再执行下一个。异步执行则可以并行处理任务,通过事件队列和回调函数实现。 1. **主线程任务栈**:执行JavaScript代码,遇到异步任务时,将其放入异步处理进程。 2. **异步处理进程**:处理异步任务,判断何时将任务放入事件队列。 3. **事件队列**:存储待执行的异步任务,按顺序执行。 **回调函数(callback)**:异步任务完成后,通过回调函数将原本应执行的代码放入调用栈,实现后续执行。 以上就是BOM的基本知识点,这些概念和方法构成了JavaScript在浏览器环境中与用户交互的基础。理解并掌握它们对于开发Web应用至关重要。