JavaScript 面试题
目录

JavaScript 中什么是 BOM (Browser Object Model)?

· 约 3 分钟读完 · 第 415 / 507 章

推荐答案

BOM(Browser Object Model)是浏览器对象模型,它提供了与浏览器窗口进行交互的对象。BOM 的核心对象是 window,它代表了浏览器窗口或框架。通过 window 对象,开发者可以访问和操作浏览器的历史记录、导航、屏幕信息、对话框等。

本题详细解读

1. BOM 的核心对象

BOM 的核心对象是 window,它是 JavaScript 中的全局对象。所有全局变量和函数都是 window 对象的属性和方法。例如,alert() 实际上是 window.alert() 的简写。

2. BOM 的主要组成部分

BOM 包含多个子对象,用于处理不同的浏览器功能:

  • window: 代表浏览器窗口或框架,是 BOM 的核心对象。
  • navigator: 提供有关浏览器的信息,如浏览器名称、版本、操作系统等。
  • location: 提供当前页面的 URL 信息,并允许导航到新的页面。
  • history: 允许访问浏览器的历史记录,并可以向前或向后导航。
  • screen: 提供有关用户屏幕的信息,如屏幕宽度、高度、颜色深度等。
  • document: 虽然 document 是 DOM 的一部分,但它也是 window 对象的属性,用于操作页面内容。

3. BOM 的常见用途

  • 弹出窗口: 使用 window.open() 和 window.close() 打开和关闭新窗口。
  • 导航: 使用 location.href 或 location.replace() 进行页面跳转。
  • 对话框: 使用 alert()、confirm() 和 prompt() 显示对话框。
  • 定时器: 使用 setTimeout() 和 setInterval() 设置定时任务。
  • 屏幕信息: 使用 screen.width 和 screen.height 获取屏幕尺寸。

4. BOM 与 DOM 的区别

  • BOM: 处理浏览器窗口和框架,提供与浏览器交互的功能。
  • DOM: 处理文档内容,提供对 HTML 和 XML 文档的访问和操作。

5. 示例代码

通过 BOM,开发者可以控制浏览器的行为,实现丰富的用户交互功能。