解读BOM与COM

  • 概念:

1.BOM(Browser Object Model):

浏览器对象模型,从名字上就能知道它和浏览器关系密切。浏览器的很多行为是通过JavaScript控制的,例如打开新窗口、打开关闭标签页、把网页设为主页或添加到收藏夹等等,这些功能的实现实质上就是对BOM的操作,BOM就是由一系列独立于内容而与浏览器窗口进行交互的对象构成的。

2.DOM(Document Object Model):

文档对象模型,它和文档有关,这里的文档指的是网页。网页是由服务器发送给客户端浏览器的,无论用什么浏览器,接收到的HTML都是一样的,所以DOM和浏览器无关,它关注的是网页本身的内容。DOM定义了一系列对象,用于访问、操纵和创建文档中的内容、结构、样式以及行为。当更改页面内容时,JavaScript就通过DOM来获得对文档( HTML、XHTML 以及 XML 文档)中所有元素进行访问的入口,以及对元素进行添加、移动、改变或移除的方法和属性。

  • 联系与区别:

1.BOM和DOM都是由一系列的对象构成,对象有属性和方法,javascript通过操纵这些对象来实现具体的功能。

2.Javascript由ECMAScript和BOM组成,BOM中包含DOM。其中ECMAScript描述了该语言的语法和基本对象,

  BOM描述与浏览器进行交互的方法和接口,DOM描述处理网页内容的方法和接口。

3.BOM没有标准,DOM的标准是W3C(万维网联盟),JavaScript语法的标准化组织是ECMA。

4.BOM的根本对象是window对象,它表示整个浏览器窗口,但不表示其中包含的内容。DOM的根本对象是

  document对象,它实际上是window对象的属性。document是一个既属于BOM又属于DOM的对象。

  理解了BOM和DOM以及它们与javascript的关系后,感觉脑子中的一大片霾退散了,“盲人摸象”又有了新进展。javascript是一种基于对象和事件驱动的语言,有了BOM和DOM中定义的对象,就可以通过改变对象的属性、执行对象的方法来实现现实世界中的具体功能了,这与之前开发C/S项目是一样的。

时间: 2024-11-07 06:20:08

解读BOM与COM的相关文章

字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian

很详细很不错,转过来学习一下: 转载自:http://www.cnblogs.com/lidabo/archive/2013/11/27/3446518.html 1.字符编码.内码,顺带介绍汉字编码 字符必须编码后才能被计算机处理.计算机使用的缺省编码方式就是计算机的内码.早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5. GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号.汉字区的内码范围

2014年辛星Javascript解读第一节

***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数据的解析和传递. 2.Javascript和Java并没有太多的关系,只是名字重复了四个字母. 3.Javascript的主要功能是进行数据验证.提供网页特效,动态响应用户的操作,我们提到Javascript也通常会提到jQuery和Ajax. ************Javascript的历史**

2014年辛星完全解读Javascript第七节 数组和对象

由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. **************数组************** 1.在Javascript中,声明一个数组太简单了,而且它支持三种方式,第一种方式是直接实例化一个Array,然后用下标的形式去添加,但是它不像PHP那样灵活,它不允许不写下标就向里面添加数据,因此,我们指定下标即可. 2.访问数组的成员就向C语言的数组那样访

2014年辛星完全解读Javascript第六节 对象

随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象和其他编程语言还是有很大区别的. ************对象************* 1.Javascript中的对象的定义“属性的无序集合,每个属性存放一个初始值.函数或者对象”,也就是说,对象是没有额定顺序的值的数组. 2.Javascript中的对象一般可以分为本地对象.内置对象.宿主对象

ViewGroup源码解读

我们之前刚刚分析完事件传递机制和view的源码,如果没有看过的,建议看完View的事件拦截机制浅析以及View的事件源码解析.这次我们来分析下viewgroup的. 可能有人会想,怎么又是源码分析,肯定又是一大通.其实没你想的那么复杂.仔细分析一波就行了. 解读ViewGroup 我们都知道,一个事件完整的流程是从dispatchTouchevent–>onInterceptTouchevent–>onTouchEvent.我们先不说事件监听的问题.上述三个步骤就是正常一个点击的流程.前面我们

诡异的json包含bom头

今日项目碰到 bom头跑错 Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected character ('' (code 65279 / 0xfeff)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: {"state&q

mysql之show engine innodb status解读(转)

add by zhj: 我第一次知道这个命令是线上服务出了问题,然后同事用这个命令去查看死锁.但用这个命令看死锁有一定的局限性,它只能看到最后一次死锁, 而且只能看到死锁环中的两个事务所执行的最后一条语句(即被死锁卡住的那条语句),看不到整个死锁环,也看到不整个事务的语句.但是即使这亲,对我 们来说也非常有用,因为一般来说,数据库同时存在多个死锁环的可能性比较小,而且有了死锁环中的事务的最后一条语句,我们找到整个死锁环不是太难. "show engine innodb status"这

BOM

Q:BOM是什么? A:"浏览器对象模型".是Web中使用JS的核心.(而ECMAScript是JavaScript的核心). Q:window对象与全局变量有差别吗? A:全局变量不能通过delete操作符删除,而直接在windows对象上的定义的属性可以. var age = 29; window.color = "red"; delete window.age; //age不是全局变量,false delete window.color; //true ale

智慧中国杯百万大奖赛解读 | 学霸去哪了(二)

在上一篇中我们探讨了学生的消费数据,消费数据对本次竞赛预测来讲很重要.本篇将探索寝室门禁.图书借阅.图书馆门禁和学生成绩等一些和学生学习相关的数据,来看看学生的品行如何,虽然资助金和奖学金的性质不太一样,但我们毕竟还是想资助那些品学兼优的学生,而不是资助虽然家境很贫寒但不学无术的学生. 所以本篇探索的数据可以比较好的反应出这些情况.当然这里面还隐藏了更好玩的话题,学霸去哪了?话不多说,let's go! 一.数据目录概况 官方提供的数据分为两组,分别是训练集和测试集,每一组都包含大约1万名学生的