DOM与BOM分别是什么,有何关联
2016-10-23 09:35
465 查看
作者:彭晟杰
链接:https://www.zhihu.com/question/20724662/answer/15975186
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Document Object Model(文档对象模型),就是把「文档」当做一个「对象」来看待。
相应的,Browser Object Model(浏览器对象模型),即把「浏览器」当做一个「对象」来看待。
在 DOM 中,文档中的各个组件(component),可以通过 object.attribute 这种形式来访问。一个 DOM 会有一个根对象,这个对象通常就是 document。
而 BOM 除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如问题描述中的 navigator(导航条)、history(历史记录)等等。
在这种 「XOM」的模型中,最应该理解的就是 Object Model。Object Model 就表示你可以通过像操作对象一样,来操作这个 X。
再解释一下什么是对象(Object)。
在编程领域中,对象就是指的一种拥有具体数据(Data)并且具有(并不总是)特定行为(Behavior)的东西。例如,一个人 ,就可以看做一个对象。人的年龄、性别、身高、体重就是上文说的具体「数据」,通常将对象拥有的具体数据称作对象的「属性(Attribute)」;而人吃饭,睡觉,行走等能力,就是上文所说的「行为」,通常,我们把对象的行为称作对象的「方法(Method)」。另外,对象是可以嵌套的,也就是是说,一个对象的属性也可以是对象。
上文所说的「像操作对象一样」,最主要就是指访问对象的属性和调用对象的方法。对象的属性可以通过 object.attribute 这种形式来访问,对象的方法可以通过 object.method(arguments) 这种形式来调用。
对应到 DOM 中,document 这个根对象就有很多属性,例如 title 就是 document 的一个属性,可以通过 document.title 访问;document 对象也有很多方法,例如 getElementById,可以通过 document.getElementById(nodeId) 调用。
链接:https://www.zhihu.com/question/20724662/answer/15975186
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Document Object Model(文档对象模型),就是把「文档」当做一个「对象」来看待。
相应的,Browser Object Model(浏览器对象模型),即把「浏览器」当做一个「对象」来看待。
在 DOM 中,文档中的各个组件(component),可以通过 object.attribute 这种形式来访问。一个 DOM 会有一个根对象,这个对象通常就是 document。
而 BOM 除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如问题描述中的 navigator(导航条)、history(历史记录)等等。
在这种 「XOM」的模型中,最应该理解的就是 Object Model。Object Model 就表示你可以通过像操作对象一样,来操作这个 X。
再解释一下什么是对象(Object)。
在编程领域中,对象就是指的一种拥有具体数据(Data)并且具有(并不总是)特定行为(Behavior)的东西。例如,一个人 ,就可以看做一个对象。人的年龄、性别、身高、体重就是上文说的具体「数据」,通常将对象拥有的具体数据称作对象的「属性(Attribute)」;而人吃饭,睡觉,行走等能力,就是上文所说的「行为」,通常,我们把对象的行为称作对象的「方法(Method)」。另外,对象是可以嵌套的,也就是是说,一个对象的属性也可以是对象。
上文所说的「像操作对象一样」,最主要就是指访问对象的属性和调用对象的方法。对象的属性可以通过 object.attribute 这种形式来访问,对象的方法可以通过 object.method(arguments) 这种形式来调用。
对应到 DOM 中,document 这个根对象就有很多属性,例如 title 就是 document 的一个属性,可以通过 document.title 访问;document 对象也有很多方法,例如 getElementById,可以通过 document.getElementById(nodeId) 调用。
相关文章推荐
- DOM, DOCUMENT, BOM, WINDOW 有什么区别?
- DOM, DOCUMENT, BOM, WINDOW 有什么区别?
- [转] JavaScript学习:BOM和DOM的区别和关联
- DOM, DOCUMENT, BOM, WINDOW 有什么区别?
- 为一个DOM元素添加事件有几种方式,分别是什么?
- BOM和DOM的区别和关联
- DOM, DOCUMENT, BOM, WINDOW 有什么区别?
- 什么是BOM?,什么是DOM? BOM跟DOM之间的关系
- bom和dom有什么区别
- DOM, DOCUMENT, BOM, WINDOW 有什么区别?
- javascript bom是什么及bom和dom的区别
- BOM跟DOM的区别和关联
- javascript中Bom和Dom有什么区别?
- javascript bom是什么及bom和dom的区别
- JavaScript学习:BOM和DOM的区别和关联
- 连接池有那几种 分别有什么区别
- 数组api+Dom+Bom
- 2. 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么
- Activity的启动模式有哪几种,分别用于什么场景?
- jswdk/jsdk/jdk到底分别是什么东西