什么是BOM
- BOM(Browser Object Model)即 浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。
- BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。
- BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初的是Netscape浏览器标准的一部分。
BOM 与 DOM
BOM
- 浏览器对象模型
- 把【浏览器】当作一个【对象】来看待
- BOM的顶级对象是window
- BOM学习的是浏览器窗口交互的一些对象
- BOM是浏览器厂商在各自浏览器上定义的,兼容性差
DOM
- 文档对象模型
- 把【文档】当作一个【对象】来看待
- DOM的顶级对象是document
- DOM学习的是操作页面元素
- DOM是W3C标准规范
BOM的构成
BOM比DOM更大,它包含DOM
document.querySelector()的完整写法是window.document.querySelector()
window对象是浏览器的顶级对象,它具有双重角色。
- 它是JS访问浏览器窗口的一个接口。
- 它是一个全局对象,定义在全局作用域中的变量,函数都会变成window对象的属性和方法。
- 在调用的时候可以省略window。
注意:window下的一个特殊属性是window.name
变量变属性示例:
// 变量会变成window的一个属性
var num = 10;
// 得到的结果一样
console.log(num);
console.log(window.num)
函数变方法示例:
function fn(){
console.log('window会得到我吗');
}
fn();
// 变成了window的一个方法了
window.fn();