JavaScript高级程序设计(一)JavaScript简介

章节摘要

1.1 JavaScript简史

1.2 JavaScript实现

1.3 JavaScript版本

1.1 JavaScript简史

  以Netscape开发的JavaScript1.1为蓝本、由ECMA制定了一种名为ECMAScript的新脚本语言的标准ECMA-262

 


1.2 JavaScript实现

  一个完整的JavaScript实现由 核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)组成 

      

 

 

1.2.1 ECMAScript

  ECMA规定了语法、类型、语句、关键字、保留字、操作符、对象。

  1、ECMAScript版本

ECMAScript的版本
版本 发布时间 特性
第1版 1997

与JavaScipt1.1大体相同,不同处:

1、要求支持UniCode标准(从而支持多语言开发);

2、对象变成了平台无关。

第2版 / 该次更新主要是为了与ISO/IEC-16262保持严格一致,没有任何新增、修改或删节处理。
第3版 /

修改内容:字符串处理、错误定义、数值输出;

新增内容:支持正则表达式、新控制语句、try-catch异常处理;

标志着ECMAScript成为了一门真正的编程语言

第4版 /

包含了强变量类型、新语句和新数据结构、真正的类和经典继承,还定义了与数据交互的新方式;

在第3版的基础上几乎定义了一门新语言,在正式发布前被放弃。

第5版 2009

澄清了第三版中已知歧义;

新增功能:原生JSON对象、继承的方法和高级属性定义、严格模式

  2、ECMAScript兼容

  ECMA-262给出了ECMAScript的兼容定义:

    (1)支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;

    (2)支持Unicode字符标准。

  可进行的兼容扩展:

    (1)添加ECMA-262没有描述的“更多类型、值、对象、属性和函数”;

    (2)支持ECMA-262没有定义的“程序和正则表达式语法”。

  3、Web浏览器对ECMAScript的支持

    

 

 

 1.2.2 文档对象模型(DOM)

  DOM是针对XML但经过扩展用于HTML的API。DOM把整个页面映射为一个多层节点结构页面。

注:XML(EXtensible Markup Language):可扩展标记语言;API(Application Programming Interface):应用程序编程接口

      

  上述HTML页面可以通过下图所示的分层节点图表示:

    

 

  通过DOM创建的这个表示文档的树形图,开发人员可获得控制页面内容和结构的主动权。借助DOM提供的API,可进行删除、添加、替换或修改任何节点。

  1、为什么要使用DOM

  Netscape和微软在DHTML方面各抒已见,为了避免Netscape和微软在Web开发领域出现技术上的两强割据,造成浏览器互不兼容的局面。由W3C开始着手规划DOM。

注:DHTML(Dynamic HTML):动态的HTML;W3C(World Wide Web Consortium):万维网联盟

  2、DOM级别

DOM级别
级别 新模块或在原有基础上增加的模块
DOM1级

DOM核心:规定如何映射基于XML的文档结构;

DOM HTML:添加了针对HTML的对象和方法。

DOM2级

DOM视图:定义了跟踪不同文档视图的接口;

DOM事件:定义了事件和事件处理的接口;

DOM样式:定义了基于CSS为元素应用样式的接口;

DOM遍历和范围:定义了遍历和操作文档树的接口。

DOM3级

DOM加载和保存模块:以统一方式加载和保存文档的方法;

DOM验证模块:验证文档的方法。

  3、其他DOM标签

  有SVG(可伸缩矢量图)、MathML(数学标记语言)、SMIL(同步多媒体集成语言)、XUL(用户界面语言)等。

  4、Web浏览器对DOM的支持

 

1.2.3 浏览器对象模型(BOM)

 

   从根本上讲,BOM只处理浏览器窗口和框架。但是人们也习惯把所有针对浏览器的JavaScript扩展算作BOM的一部分。

  例如:

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

1.3 JavaScript版本

  Netscape/Mozilla浏览器中JavaScript版本号的递增过程:

 

 

 

 

   

posted @ 2020-05-11 20:16  罗查理  阅读(201)  评论(0)    收藏  举报