http://hi.baidu.com/hovx/blog/item/e387fc0e2027c2c17acbe1e1.html/cmtid/d2a4c208ad6c409b0b7b827b

理清javascript的相关概念 DOM和BOM
2009-12-21 11:20

http://topic.csdn.net/u/20090410/08/9c4bf971-566d-449d-93ce-e5cbb6ee5118.html
    javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异。
JavaScript=语法+BOM(含DOM) [关系之理解] BOM>DOM

1 DOM 是 W3C 的标准; [所有浏览器公共尊守的标准]
2 BOM 是 各个浏览器厂商根据 DOM 在各自浏览器上的实现; [表现为不同浏览器定义有差别,实现方式不同]
3 window 是 BOM 对象,而非 js 对象;

完整的JavaScript是由ECMAScript(语法)、Browser Objects=BOM(包含DOM)(特性)组成的。
JavaScript=语法+BOM(含DOM) [关系之理解] 
同理:
VBScript=语法+BOM(含DOM)

html css js dom树到底是什么关系


上图是JavaScript的组成图示,箭头代表调用关系[http://www.dreamdu.com/javascript/what_is_javascript/]。

什么是ECMAScript:

  • ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会。欧洲计算机制造商协会是制定信息传输与通讯的国际化标准组织。官方网站为,http://www.ecmascript.org/
  • ECMAScript是ECMA制定的标准化脚本语言。
  • 目前JavaScript使用的ECMAScript版本为ECMAScript-262
  • ECMAScript被国际化标准组织采纳为ISO/IEC 16262

    什么是DOM:
    文件对象模型
    Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言标准编程接口

    Document Object Model 的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”(browser wars),双方为了在JavaScript 与 JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,计有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。

  • DOM是Document Object Model的简写,既文档对象模型。
  • DOM由一系列对象组成,是访问、检索、修改XHTML文档内容与结构的标准方法。
  • DOM是跨平台与跨语言的。[一个公共文档定义标准]
  • DOM用于XHTML、XML文档应用程序接口(API)。
  • DOM提供一种结构化的文档描述方式,从而使HTML内容使用结构化的方式显示。
  • DOM标准是由w3c制定与维护的 http://www.w3.org/DOM/
  • DOM的顶层是document对象(DOM对象模型见下图)。
    http://www.dreamdu.com/javascript/what_is_browser_objects

    什么是BOM

    • BOM是browser object model的缩写,简称浏览器对象模型
    • BOM提供了独立于内容而与浏览器窗口进行交互的对象
    • 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window
    • BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性
    • BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C
    • BOM最初是Netscape浏览器标准的一部分
      http://www.dreamdu.com/javascript/what_is_bom/
    • BOM是Browser Object Model的简写,既浏览器对象模型。
    • BOM由一系列对象组成,是访问、控制、修改客户端(浏览器)的属性的方法。
    • BOM没有统一的标准(每种客户端都可以自定标准)。
    • BOM的顶层是window对象(BOM对象模型见上图)。

    什么是Browser_Objects

    JavaScript包含许多浏览器对象(Browser Objects),这些对象可以与浏览器窗体网页产生互动。Browser Objects也可被称作BOM,它包含一个名叫DOM的节点,每种对象模型都由一种层次结构组成,这种层次结构就像金字塔,DOM的顶层是document对象,BOM的顶层是window对象。

    html css js dom树到底是什么关系

    上图是Browser Objects的图示,包括BOM与DOM两部分,箭头代表继承关系。从上图可以大致了解JavaScript的所有特性。http://www.dreamdu.com/javascript/what_is_browser_objects/
    html css js dom树到底是什么关系
    document是一个既属于BOM又属于DOM的对象,而location对象,则是一个既属于window,又属于document的属性

    http://www.qqread.com/javascript/w473550.html JavaScript使用心得汇总:从BOM和DOM谈起

    http://www.dreamdu.com/javascript/window/

  •  

     

     

    我们用JavaScript对网页进行的所有操作都是通过DOM进行的。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容,所以如果你下载一个JavaScript语言的参考帮助文档来查的话,就连妇孺皆知的document.write方法也找不到。


    1997年,JavaScript1.1作为一个草案提交给欧洲计算机只制造商会(ECMA)。第39种技术委员会(TC39)被委员派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”(http://www.ecma-international.org/memento/tc39.htm)。由来自Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出的ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。

     

       在接下来的几年里,国际标准化组织以及国际电工委员会(ISO/IEC)也才内了ECMAScript作为标准(ISO/IEC-16262)。从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)将ECMAScript作为JavaScript实现的基础。

     

       尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。

     

       EMCAScript并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法(这点与C这类语言不同,它需要依赖外部的库来完成这类任务)。那么什么才是ECMAScript呢?ECMA-262标准的描述如下:“ ECMAScript 可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言时与任何特定的宿主环境分开进行规定的

     

       Web浏览器对于ECMAScript来说是一个宿主环境,但它并不是唯一的宿主环境。事实上,还有不计其数的其他各种环境(例如 Nombas 的 ScriptEase 和 Macromcdia 同时用在 Flash 与Director MX 中的 ActionScript )可以容纳ECMAScript实现。那么ECMAScript在浏览器之外规定了些什么呢?简单地说,ECMAScript描述了以下内容:语法、类型、语句、关键字、保留字、运算符、对象

     

    更多JavaScript资讯

    xml分割数据

    js只允许输入数字字符

    js绝对值

    javascript获取文本框

    javascript事件类型

    javascript复制事件

    javascript event停止冒泡

    javascript date.parse

    javascript禁止用户操作

    验证文本框

       ECMAScript仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他的语言可以实现ECMAScript来作为功能的基准,JavaScript就是这样。

     

       每个浏览器都有它自己的ECMAScript接口的时间,然后这个实现又被扩展,包含了DOM和BOM。当然还有其他实现并扩展了ECMAScript的语言,例如Windows脚本宿主、Macromedia的Flash与Director MX中的ActionScript等。

     

       何为ECMAScript符合性

     

       在ECMA-262中,ECMAScript符合性有明确的定义。一个脚本语言必须满足一下四项基本原则:

     

       1、符合的实现必须按照ECMA-262中所描述的支持所有的“类型、值、对象、属性、函数和程序语言及语义”;

     

       2、符合的实现必须支持Unicode字符标准(UCS);

     

       3、符合的实现可以增加没有在ECMA-262中指定的“额外的类型、值、对象、属性和函数”。ECMA-262将这些增加面熟为规范中未定给的新对象或对象的新属性;

     

       4、符合的实现可以支持没有在ECMA-262中定义的“程序和正则表达式语法”。


      

    html css js dom树到底是什么关系

    分类: 小结 20人阅读 评论(0) 收藏 举报
     
    点击打开链接
    HTLM应该是超文本标记语言不是协议,HTTP那东西才是协议,js和javascript实际上是一样的,javascript简称叫 js , JScript 是 微软出的  跟javascript差不多,现在都叫JS了,HTML/CSS/javascript W3C都有制作规范与标准。dom树是属于javascript的一部分,javascript大体包含3个西:ECMAScript语法(在此基础上建立的javascript语法,还如FLASH的ActionScript也基于ECMAScript扩展的),DOM对象(文档),BOM对象(浏览器).
    而DOM对象的出现是为了方便javascript操作HTML标签而已.BOM对象也就是操作浏览器了.标准的HTML文档实质上就是一个是就一个树形结构的XML文档
    DOM全名document object model 文档对象模型,也就是基于HTML文档出来的,所以操作DOM实际上就是在操作HTML文档对象(每一个标签).
    CSS只能修饰HTML的样式而已,而javascript能把HTML与CSS相结合,也就是以前所说的DHTML(动态HTML)。
    http只是传输协议,没他的话网站都打不开了。
    html这套标签机制也是又W3C规范的,每个浏览器对CSS,HTML,JS的解析都存在问题,所以当时就出现了W3C这个民间的组织,重点是民间组织,O(∩_∩)O哈哈~,组成就是为了说服各大浏览器厂商统一解析CSS,HTML,JS,目前各大浏览器厂商对标准支持的越来越好了(IE最差,可能有钱有势吧,老弄些IE特有属性与方法,而不采用DOM核心方法),但是还是存在差异,希望开发者再也不用为浏览器兼容考虑那一天的到来。


    JavaScript中的BOM和DOM

    BOM(JavaScript Object Modle)——浏览器对象模型是浏览器开发厂商为防止目前以及日后可能加入的大量可被控制的页面元素(HTML标签)给开发者造成的混乱,而为浏览器定义的浏览器模型,BOM结构如图示:

    html css js dom树到底是什么关系 

    BOM并不是标准,因为它关注的是浏览器的整体结构,包括浏览器窗口的属性和行为。每个浏览器都可以有自己的BOM,它们并不是完全一致的,上图只是列出了大多数浏览器都兼容的部分。

    DOM(Document Object Modle)——是文档对象模型的简称,官方对DOM的解释是:应用于HTML或者XML的一种与平台、语言无关的接口(方法和属性),允许程序和脚本动态访问和更新文档的内容,结构和样式。

    与BOM关注浏览器的整体不同,DOM只关注浏览器所载入的文档,也就是HTML标签对象。DOM并不是BOM的替代品,而只是把能够统一的东西尽量标准化。从逻辑上说BOM和DOM的关系,就是不管用什么设备生产罐头,生产出来的罐头必须符合国家罐头标准,这样才能减少由罐头引发的食品卫生案件。

    对HTML中的节点而言,节点以BOM模型对页面本身进行处理;而DOM则增加了处理节点间关系的方便性。事实上,DOM的出现也是W3C为了标准化管理文档结构而创建的一种解决方案。

    DOM与JavaScript的关系:无论组件有多少配置属性、还是事件、方法等等,其最终都会转化为HTML在浏览器上显示出来,而每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM对象,动态改变页面的内容,正是通过使用脚本语言来操作DOM对象实现。

    仅仅有DOM是不够的,比如要把页面中的某一个节点移到其它位置,要给某一个节点添加阴影效果,要隐藏或显示某一个节点等,我们都需要通过 javascript的操作。

    1997年,JavaScript1.1作为一个草案提交给欧洲计算机只制造商会(ECMA)。第39种技术委员会(TC39)被委员派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”(http://www.ecma-international.org/memento/tc39.htm)。由来自Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出的ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。

     

       在接下来的几年里,国际标准化组织以及国际电工委员会(ISO/IEC)也才内了ECMAScript作为标准(ISO/IEC-16262)。从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)将ECMAScript作为JavaScript实现的基础。

     

       尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。

     

       EMCAScript并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法(这点与C这类语言不同,它需要依赖外部的库来完成这类任务)。那么什么才是ECMAScript呢?ECMA-262标准的描述如下:“ ECMAScript 可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言时与任何特定的宿主环境分开进行规定的

     

       Web浏览器对于ECMAScript来说是一个宿主环境,但它并不是唯一的宿主环境。事实上,还有不计其数的其他各种环境(例如 Nombas 的 ScriptEase 和 Macromcdia 同时用在 Flash 与Director MX 中的 ActionScript )可以容纳ECMAScript实现。那么ECMAScript在浏览器之外规定了些什么呢?简单地说,ECMAScript描述了以下内容:语法、类型、语句、关键字、保留字、运算符、对象

     

    更多JavaScript资讯

    xml分割数据

    js只允许输入数字字符

    js绝对值

    javascript获取文本框

    javascript事件类型

    javascript复制事件

    javascript event停止冒泡

    javascript date.parse

    javascript禁止用户操作

    验证文本框

       ECMAScript仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他的语言可以实现ECMAScript来作为功能的基准,JavaScript就是这样。

     

       每个浏览器都有它自己的ECMAScript接口的时间,然后这个实现又被扩展,包含了DOM和BOM。当然还有其他实现并扩展了ECMAScript的语言,例如Windows脚本宿主、Macromedia的Flash与Director MX中的ActionScript等。

     

       何为ECMAScript符合性

     

       在ECMA-262中,ECMAScript符合性有明确的定义。一个脚本语言必须满足一下四项基本原则:

     

       1、符合的实现必须按照ECMA-262中所描述的支持所有的“类型、值、对象、属性、函数和程序语言及语义”;

     

       2、符合的实现必须支持Unicode字符标准(UCS);

     

       3、符合的实现可以增加没有在ECMA-262中指定的“额外的类型、值、对象、属性和函数”。ECMA-262将这些增加面熟为规范中未定给的新对象或对象的新属性;

     

       4、符合的实现可以支持没有在ECMA-262中定义的“程序和正则表达式语法”。

    相关文章:

    • 2021-07-12
    • 2021-04-20
    • 2021-11-26
    • 2021-07-17
    • 2022-12-23
    • 2022-12-23
    • 2022-12-23
    • 2021-04-19
    猜你喜欢
    • 2021-11-22
    • 2022-12-23
    • 2021-10-20
    • 2022-01-23
    • 2022-12-23
    • 2022-12-23
    相关资源
    相似解决方案