首页 > 代码库 > JavaScript综述
JavaScript综述
ECMAScript前身:
- ScriptEase,92年Nombas公司开发,开始成为Cmm,后改称ScriptEase
- LiveScript,Netscape公司开发,后改称JavaScript
- 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包括三部分:
- ECMAScript(核心)
- DOM——文档对象模型(内容扩展)
- BOM——浏览器对象模型(宿主扩展)
DOM是操作XML和HTML语言的标准,包括两部分:
- DOM Core——定义了操纵XML文档的标准
- DOM HTML——是对DOM CORE的扩展,定义了操作HTML文档的一些专用方法和对象
DOM并非JavaScript特有的,对于其他脚本语言,DOM还包括另外一些标准:
- SVG——可缩放矢量语言
- MathML——数字标记语言
- SMIL——同步多媒体语言 还有一些非标准的扩展例如:XUL等
BOM——没有任何标准支持BOM,但却存在一些事实上的标准。 每种浏览器都有自己的BOM实现。
Javascript对象分类及列表:
一、本地对象(native object)
- Object
- Function
- Array
- String
- Boolean
- Number
- Date
- RegExp
- Error
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
二、内置对象(built-in object)
- Global
- Math
本地对象和内置对象都是ECMAScript的标准对象,区别在于内置对象在宿主环境(Web浏览器)初始化时实例化,只需直接调用即可;而本地对象需要先实例化再调用。本地对象相当于“类”。
三、宿主对象(host Object)
非本地对象即宿主对象。包括DOM和BOM对象。
DOM对象列表:
BOM对象列表:
- Window
- Navigator
- History
- Screen
- Location
- ActiveXObject(IE独有)
原始类型:
- Undefined
- Null
- Boolean
- Number
- String
原始类型定义了该类型的值的范围及其字面量表示形式。 原始类型存储在桟中,引用类型存储于堆中,桟中只存储只想它的地址值。 原始类型的值空间是固定的、引用类型的值空间是可变的。(就像无符号数字存储4字节)
JavaScript不存在“类”,只有对象。
函数是对象(Function类的对象实例)。
JavaScript综述