关于BOM,DOM 和 JS 深度关系解析
Abstract
当你创建一个脚本时,无论是内联在script元素里面还是包含在一个网页内,通过加载一个脚本指令,可以立即使用API进行接入文件或window的元素来操纵文件本身或进入它的孩子节点文件,也就是网页里的各种元素。你的DOM程序也许非常简单,就如通过window对象的alert()函数显示一个讯息提升,也许使用了复杂的DOM方法,构建新的内容。笔者通过这篇文章从BOM 和 DOM结构上去阐明与JavaScript 的深度关系。
BOM
BOM表示为浏览器对象模型,用于收集浏览器各种对象,不同于DOM,没有标准定义,因此不同的浏览器的执行方式不同。BOM主要用于管理浏览器窗口及窗口之间能够沟通,每一个HTML页面将会加载到一个浏览器窗口成为一个文件Document对象,并且一个文件对象也是BOM里面的一个对象。可以把BOM看成是DOM的一个超级集合,也就是DOM也是BOM的一部分,都是Window对象的子对象,帮助你操纵加载页面文件内容。同时,BOM也拥有许多不属于DOM结构一部分的对象,方法和属性。包括:
- navigator
- sceen
- location
- frames
- history
- document
- XMLHttpRequest