javascript/DOM/BOM简介

1.javascript的历史

  • 1995年,Netscape(网景)公司的Brendan Eich(布兰登·艾奇)(伊利诺伊大学香槟分校),花了10天时间为Netscape Navigator2.0开发了一个名为LiveScript的脚本语言——该语言将同时在浏览器和服务器中使用,目的是在浏览器中执行预检测程序(表单校验)。
  • 后来Netscape在与Sun合作之后将其改名为JavaScript。目的是为了利用 Java 这个因特网时髦词汇。
  • 微软发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)
  • 三足鼎立阶段:
    CEnvi的scriptEase
    Netscape的JavaScript
    IE的JScript
  • 标准化阶段:1997年,ECMA(欧洲计算机制造商协会)邀请了Netscape、Sun、微软、Borland等公司的一些程序员组成了TC39,最终锤炼出来了ECMA-262,该标准定义了一门全新的脚本语言,名为ECMAScript。

2.JavaScript的组成

一个完整的JavaScript实现应该由下列三个不同的部分组成

  • 核心(ECMAScript):由ECMA-262定义,提供核心语言功能,描述了语言的基本语法和数据类型,与具体实现无关。
  • 文档对象模型(DOM):提供访问和操作网页内容的方法和接口(API)。
  • 浏览器对象模型(BOM):提供与浏览器交互的方法和接口(API)。
    javascript/DOM/BOM简介_第1张图片

3. DOM

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API) ,DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:


  
    Sample Page
  
  
    

hello world!

这段代码可以用 DOM 绘制成一个节点层次图
javascript/DOM/BOM简介_第2张图片
DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。

4.BOM

IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

  • 弹出新浏览器窗口的功能
  • 移动、缩放和关闭浏览器窗口的功能
  • 提供浏览器详细的navigator对象
  • 提供浏览器所加载页面的详细信息的location对象
  • 提供用户显示器分辨率详细信息的screen对象
  • 对cookies的支持
  • 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象。

由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。现在有了HTML5,BOM实现的细节有望朝着兼容性越来越高的方向发展。

你可能感兴趣的:(JavaScript学习路径)