JavaScript语言
概述
JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。
JavaScript没有采用传统的类继承模型,而是使用prototype原型模型。与类继承的“复制、拷贝”不同,原型继承的机制是“引用、关联”。JavaScript中所有的对象都是由构造函数生成的,每个对象都共同继承构造函数的原型对象中的属性和方法。
JavaScript的运行环境一般由宿主环境和执行期环境共同组成。
- 宿主环境
提起JavaScript的宿主环境,第一个闪现在脑海里的,没准就是浏览器,没错浏览器是JavaScript接受度最广的宿主环境,由于接受度太过于广泛,导致初学者往往一开始会形成一种JavaScript的宿主只有浏览器的错觉,其实除了浏览器之外,JavaScript还可以运行在其他宿主环境中,比如NodeJs,MongoDB(使用JavaScript构造查询语句)等。 - 执行期环境
执行期环境是宿主环境通过脚本引擎创建的代码解析环境,主要包括:- 一套与宿主环境相关联的规则
- JavaScript引擎内核
- 一组内置对象和API
- 其他约定
目录结构
本目录包含以下几大子目录:
历史
JavaScript 最早是Sun Microsystems公司和Netscape Communications公司共同开发的、 专门适用于WEB浏览器的一门脚本语言。后来其用途逐渐扩展到浏览器以外的软件环境,比如Microsoft公司的Windows,以及Macromedia公司的「Flash」。
因为不同公司实现的版本存在许多兼容性上的问题、因此欧洲的標準化団体ECMA召集相关软件商,制定和发布了「ECMAScript」标准。2017年2月止,ECMAScript的最新版本是2015年6月制定的ECMAScript 6th Edition,但使用最普及的应该还是2009年9月发布的5th editiond。
JavaScript和ECMAScript的版本对应关系如下表所示:
JavaScript版本 | 发表日期 | 与ECMAScript的对应 |
---|---|---|
1.0 | 1996/03 | - |
1.1 | 1996/08 | - |
1.2 | 1997/07 | - |
1.3 | 1998/10 | edition 1 edition 2 |
1.4 | 廃棄 | |
1.5 | 2000/11 | edition 3 |
1.6 | 2005/11 | |
1.7 | 2006/10 | |
1.8 | 2008/06 | |
1.8.5 | 2010/07 | edition 5 |
1.8.6 | - | - |
2.0 | - | edition 6 |
各个主要软件のJavaScript对应情况如下表所示:
软件 | 版本 | 称呼 | 对应JavaScript版本 |
---|---|---|---|
Chrome | 33 | JavaScript | 1.7 |
Firefox | 1.0 | JavaScript | 1.5 |
1.5 | 1.6 | ||
2.0 | 1.7 | ||
3.0 | 1.8 | ||
4 | 1.8.5 | ||
17 | 1.8.6 | ||
IE | 6 | JScript5.6 | 1.5 |
7 | JScript5.7 | ||
8 | JScript5.8 | ||
9 | JScript? | 1.8.5 | |
Adobe Acrobat | 11 | JavaScript | 1.5? |