• 技术文章 >web前端 >html教程

    BOM和DOM的区别和关联_html/css_WEB-ITnose

    2016-06-24 11:44:58原创872
    BOM

    1. BOM是Browser Object Model的缩写,即浏览器对象模型。

    2. BOM没有相关标准。

    3. BOM的最根本对象是window。

    从1可以看出来:BOM和浏览器关系密切。浏览器的很多东西可以通过JavaScript控制的,例如打开新窗口、打开新选项卡(标签页)、关闭页面,把网页设为主页,或加入收藏夹,等等…这些涉及到的对象就是BOM。

    从2可以看出来:由于没有标准,不同的浏览器实现同一功能,可以需要不同的实现方式。对于上面说的功能,不同的浏览器的实现功能所需要的JavaScript代码可能不相同。

    例如加入收藏夹这么一个功能:

    IE浏览器: window.external.AddFavorite(url,title);

    FireFox浏览器: window.sidebar.addPanel(title, url, "");

    所以在写这一块的JavaScript代码时,就要考虑浏览器兼容性了。

    虽然BOM没有一套标准,但是各个浏览器的常用功能的JavaScript代码还是大同小异的,对于常用的功能实际上已经有默认的标准了。所以不用过于担心浏览器兼容问题,不是每个浏览器都有自己的BOM,也不需要为每个浏览器都学习一套BOM,只是个别浏览器会有新增的功能会在BOM上体现出来。

    DOM

    1. DOM是Document Object Model的缩写,即文档对象模型。

    2. DOM是W3C的标准。

    3. DOM最根本对象是document(实际上是window.document)。

    从1可以看出来:DOM和文档有关,这里的文档指的是网页,也就是HTML文档。网页是由服务器发送给客户端浏览器的,无论用什么浏览器,接收到的HTML都是一样的,所以DOM和浏览器无关,它关注的是网页本身的内容。由于和浏览器关系不大,所以标准就好定了。

    既然有标准了,大家就要按标准来了,不按标准来的浏览器就要打屁股了。

    那么JavaScript的DOM是干什么的呢?

    我们知道HTML是由标签组成的,标签套标签。JavaScript可以通过DOM获取到底有哪些标签,标签里面的属性是什么,内容是什么等等…

    从3中window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象。

    上图很好的说明的二者之间的关系:两者的关系是BOM包含DOM。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:用了bootstrap,怎么还能用自己的CSS_html/css_WEB-ITnose 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• ajax基本介绍• 使用jQuery实现地址联动• “娜喊杯”HTML5行业颁奖盛典盛大开幕_html/css_WEB-ITnose• 深入CSS,让网页开发少点“坑”_html/css_WEB-ITnose• 求两个纯Html之间的传值示例_html/css_WEB-ITnose
    1/1

    PHP中文网