什么是 BOM
BOM 即浏览器对象模型(browser object model),其提供了一系列接口供开发者使用 JavaScript
与浏览器窗口进行交互。
BOM 不像 ECMAScript 和 DOM 有一套自己的标准,BOM 是没有公共组织制定标准的。
神奇的是所有现代浏览器在 BOM 的相关内容上几乎一致,所以 BOM 也足够通用,所有浏览器的实现几乎一致。
1. BOM 的作用
BOM 提供的是与浏览器窗口交互的能力,其包含了一些处理窗口的方法,如打开新窗口,控制新窗口大小,也提供了窗口相关的属性,如窗口尺寸。
BOM 的操作入口可以理解为 window
对象,即浏览器下的全局对象。
window.location.href = '//imooc.com'; // 跳转
window.onload = function() {
// 当前窗口的页面加载完毕做的事情
};
window.open('https://immoc.com'); // 打开新的窗口
window.navigator.userAgent; // 获取 UA
代码块
预览复制
2. 理解 BOM、DOM、JS 的关系
部分读者可能会进入一个难以理解的怪圈。
全局的对象,如 String
、Boolean
、Function
,或者一些方法 parseInt
,isNaN
,甚至是 DOM 的入口 document
,这些都是被放在 window</