加载中...
BOM 是浏览器提供的一组与文档内容无关的宿主 API,核心是 window 对象,涵盖导航(location)、历史(history)、屏幕信息(screen)、网络请求(fetch/XHR)等能力,没有统一 W3C 标准,各浏览器实现高度相似但存在细节差异。

| 核心对象 | window |
| 标准状态 | 无统一 W3C 标准,实现由各浏览器约定 |
| 常用子 API | location / history / navigator / screen |
window 是浏览器中全局作用域的宿主对象,所有全局变量都挂在它上面。常用子对象包括:location(当前 URL、跳转、刷新)、history(前进/后退,HTML5 新增 pushState/replaceState 让单页应用无刷新改 URL)、navigator(浏览器版本、语言、在线状态、地理定位)、screen(物理分辨率)、alert/confirm/prompt(同步弹窗,现代 UX 中几乎被禁用)。[1]
BOM 提供的 setTimeout/setInterval/requestAnimationFrame 是异步编程的基础设施,本质上依赖事件循环的任务队列。requestAnimationFrame(rAF,2011 年引入)把回调同步到显示器刷新周期(通常 60fps),比 setInterval 做动画精准得多、省电得多。window.postMessage 允许跨源窗口安全通信,是 iframe 嵌入、微前端框架的底层通道之一。

| 核心对象 | window |
| 标准状态 | 无统一 W3C 标准,实现由各浏览器约定 |
| 常用子 API | location / history / navigator / screen |
登录 后参与讨论
暂无讨论,来发表第一条评论吧