BOM对象和DOM对象和JS对象如何区分?
例如:Number是一个JS对象,window是BOM对象,但是Number等于window.Number,这是怎么回事?怎么JS对象成了BOM对象的一个属性?...
例如:Number是一个JS对象,window是BOM对象,但是Number等于window.Number,这是怎么回事?怎么JS对象成了BOM对象的一个属性?
展开
1个回答
推荐于2018-04-07
展开全部
bom 是浏览器特有的,比如你用js实现:取得当前页地址再加入收藏夹,这个必须依赖浏览器功能。你写的 bom 的玩意只能在浏览器上跑,没浏览器、没地址你怎么加入收藏夹?
dom 是文档对象模型,比如 html 是树结构的,操作 dom 就是操作这颗树:
<html>
<body>
<p><i>123</i></p>
<a>百度</a>
</body>
</html>
树结构:
html
|
body
|
------------
| |
a p
| |
百度 i
|
123
dom 你可以操作 html 这颗树,也可以去操作另一颗树,比如:xml,而不管你是在浏览器中还是在其他环境中运行js,都能操作,因为你不依赖浏览器特有的东西。
js里面几乎一切皆对象(有个例外),但是人家是说的 js 语法里面的对象,和 dom、bom对象不是一个概念,你在拿两个世界里面不同的东西做比较,虽然他们都叫对象。。
var i = window.Number;//i变量 = 一个bom对象中的值
i 是一个变量,同时也是一个js里面所谓的对象,现在是让 js 变量 i 值为 window.Number;
var j = document.getElementById("menu");//获得html中id为menu的标签,将其存入变量j 里面供接下来其他操作
这里 j 依然是一个 js 对象,后面 ById 取得的是一个 dom 对象
j值 = ById值
j对象 不等于 ById对象
dom 是文档对象模型,比如 html 是树结构的,操作 dom 就是操作这颗树:
<html>
<body>
<p><i>123</i></p>
<a>百度</a>
</body>
</html>
树结构:
html
|
body
|
------------
| |
a p
| |
百度 i
|
123
dom 你可以操作 html 这颗树,也可以去操作另一颗树,比如:xml,而不管你是在浏览器中还是在其他环境中运行js,都能操作,因为你不依赖浏览器特有的东西。
js里面几乎一切皆对象(有个例外),但是人家是说的 js 语法里面的对象,和 dom、bom对象不是一个概念,你在拿两个世界里面不同的东西做比较,虽然他们都叫对象。。
var i = window.Number;//i变量 = 一个bom对象中的值
i 是一个变量,同时也是一个js里面所谓的对象,现在是让 js 变量 i 值为 window.Number;
var j = document.getElementById("menu");//获得html中id为menu的标签,将其存入变量j 里面供接下来其他操作
这里 j 依然是一个 js 对象,后面 ById 取得的是一个 dom 对象
j值 = ById值
j对象 不等于 ById对象
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询