JavaScript 的组成部分
JavaScript 由 ECMAScript、DOM 和 BOM 三部分组成
问题
JavaScript 由哪些部分组成?各部分的作用是什么?
解答
JavaScript 由三个部分组成:
1. ECMAScript
ECMAScript 是 JavaScript 的语言标准,由 ECMA-262 规范定义。它规定了:
- 语法规则
- 数据类型(Number、String、Boolean、Object 等)
- 操作符和语句
- 关键字和保留字
- 内置对象(Array、Date、Math、Promise 等)
// ECMAScript 提供的能力
const arr = [1, 2, 3];
const doubled = arr.map(x => x * 2);
const promise = Promise.resolve('hello');
2. DOM(Document Object Model)
DOM 是操作网页内容的 API,将 HTML 文档表示为节点树。
// DOM 操作
const element = document.getElementById('app');
element.innerHTML = '<p>Hello</p>';
element.addEventListener('click', () => {
console.log('clicked');
});
3. BOM(Browser Object Model)
BOM 是与浏览器交互的 API,提供了与浏览器窗口相关的功能。
// BOM 对象
window.alert('提示');
console.log(window.innerWidth); // 窗口宽度
console.log(navigator.userAgent); // 浏览器信息
console.log(location.href); // 当前 URL
history.back(); // 后退
localStorage.setItem('key', 'value'); // 本地存储
三者关系
JavaScript
├── ECMAScript(语言基础)
├── DOM(文档操作)
└── BOM(浏览器交互)
├── window
├── navigator
├── location
├── history
├── screen
└── localStorage / sessionStorage
关键点
- ECMAScript 是语言规范,定义语法和内置对象,与运行环境无关
- DOM 是 W3C 标准,用于操作 HTML/XML 文档结构
- BOM 没有统一标准,各浏览器实现可能有差异
- Node.js 环境只有 ECMAScript,没有 DOM 和 BOM
window是 BOM 的顶层对象,同时也是全局对象
目录