首页 > 代码库 > JavaScript综述

JavaScript综述

ECMAScript前身:

  1. ScriptEase,92年Nombas公司开发,开始成为Cmm,后改称ScriptEase
  2. LiveScript,Netscape公司开发,后改称JavaScript
  3. JScript,微软公司于IE 3.0集成的JavaScript克隆版(简称“抄袭”)

97年ECMA基于上面三方的脚本混乱状态,定义了ECMAScript(ECMA-262标准),后被ISO/IEC采纳为国际标准(ISO/IEC-16262)。

 

ECMAScript是什么:

ECMAScript仅仅是作为一个脚本语言的标准存在,也就是说任何脚本语言都应该基于这个标准来实现。而脚本语言是基于宿主环境存在的,不同的宿主环境具备各自的ECMAScript的实现接口(基于标准定义的函数、对象等),然后在这些接口上扩展,就是整个的脚本语言。

ECMAScript定义了脚本语言实现的语法、类型、语句、关键字、保留字、运算符、(基础)对象。 最新的ECMAScript版本是5.1,于2011年6月发布。

 

JavaScript:

JavaScript是以Web浏览器为宿主环境的ECMAScript脚本实现,它的扩展包括DOM和BOM两部分,也就是说JavaScript包括三部分:

  1. ECMAScript(核心)
  2. DOM——文档对象模型(内容扩展)
  3. BOM——浏览器对象模型(宿主扩展)

DOM是操作XML和HTML语言的标准,包括两部分:

  1. DOM Core——定义了操纵XML文档的标准
  2. DOM HTML——是对DOM CORE的扩展,定义了操作HTML文档的一些专用方法和对象

DOM并非JavaScript特有的,对于其他脚本语言,DOM还包括另外一些标准:

  1. SVG——可缩放矢量语言
  2. MathML——数字标记语言
  3. SMIL——同步多媒体语言 还有一些非标准的扩展例如:XUL等

BOM——没有任何标准支持BOM,但却存在一些事实上的标准。 每种浏览器都有自己的BOM实现。

 

Javascript对象分类及列表:

一、本地对象(native object)

  1. Object
  2. Function
  3. Array
  4. String
  5. Boolean
  6. Number
  7. Date
  8. RegExp
  9. Error
  10. EvalError
  11. RangeError
  12. ReferenceError
  13. SyntaxError
  14. TypeError
  15. URIError

二、内置对象(built-in object)

  1. Global
  2. Math

本地对象和内置对象都是ECMAScript的标准对象,区别在于内置对象在宿主环境(Web浏览器)初始化时实例化,只需直接调用即可;而本地对象需要先实例化再调用。本地对象相当于“类”。

三、宿主对象(host Object)

非本地对象即宿主对象。包括DOM和BOM对象。

DOM对象列表: 

BOM对象列表:

  1. Window
  2. Navigator
  3. History
  4. Screen
  5. Location
  6. ActiveXObject(IE独有)

 

原始类型:

  1. Undefined
  2. Null
  3. Boolean
  4. Number
  5. String

原始类型定义了该类型的值的范围及其字面量表示形式。 原始类型存储在桟中,引用类型存储于堆中,桟中只存储只想它的地址值。 原始类型的值空间是固定的、引用类型的值空间是可变的。(就像无符号数字存储4字节)

 

JavaScript不存在“类”,只有对象。

函数是对象(Function类的对象实例)。

 

JavaScript综述