在浏览器中,window 充当了 全局作用域对象,它不仅包括 BOM,还包括:
BOM(浏览器对象模型):
window.alert()
window.navigator
window.location
window.history
window.screen
window.localStorage / sessionStorage
window.open() / window.close()
→ 这些都是典型的 BOM API
DOM(文档对象模型):
window.document(DOM 入口)
window.getElementById()
window.querySelector()
window.addEventListener()
→ 这些属于 DOM API,而不是 BOM
部分 Web API(由浏览器提供的其他 API):
window.fetch()(网络请求)
window.WebSocket(WebSocket 通信)
window.Notification(浏览器通知)
window.MediaDevices.getUserMedia()(获取摄像头/麦克风)
→ 这些是 Web API,不属于 BOM
ECMAScript(JavaScript 标准库):
window.setTimeout() / setInterval()(定时器)
window.Promise(Promise 对象)
window.Math(数学计算)
→ 这些是 JavaScript 语言本身提供的,而不是浏览器 BOM