JavaScript介绍
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。[1] 为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。#javaScript与java不是一种语言ECMAScript,描述了该语 言的语法和基本对象。[2] 文档对象模型(DOM),描述处理网页内容的方法和接口。[2] 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。[2] JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。[3]
- 是一种解释性脚本语言(代码不进行预编译)。[4]
- 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。[4]
- 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。[4]
- 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
- 嵌入动态文本于HTML页面。[4]
- 对浏览器事件做出响应。[4]
- 读写HTML元素。[4]
- 在数据被提交到服务器之前验证数据。[4]
- 检测访客的浏览器信息。[4]
- 控制cookies,包括创建和修改等。[4]
- 基于Node.js技术进行服务器端编程。[6]
12345678910111213 | console.log( "a" ); //这是正确的 console.log( "b" ); //这是正确的 console.logg( "c" ); //这是错误的,并且到这里会停下来 console.log( "d" ); //这是正确的 console.log( "e" ); //这是正确的 /*解决办法*/ try {console.log( "a" );} catch (e){} //这是正确的 try {console.log( "b" );} catch (e){} //这是正确的 try {console.logg( "c" );} catch (e){} //这是错误的,但是到这里不会停下来,而是跳过 try {console.log( "d" );} catch (e){} //这是正确的 try {console.log( "e" );} catch (e){} //这是正确的 |
- Microsoft公司的JScript.
- Mozilla的JavaScript-C(C语言实现),现名SpiderMonkey
- Mozilla的Rhino(Java实现)
- Digital Mars公司的DMDScript
- Google公司的V8
- WebKit
版本 | 发布日期 | 基于 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Google Chrome |
---|---|---|---|---|---|---|---|---|
1.0 | 1996年3月 | 2.0 | ||||||
1.1 | 1996年8月 | 3.0 | 3.0 | |||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 1 edition / ECMA-262 2 edition | 4.06-4.7x | 4.0 | ||||
1.4 | Netscape Server |
|||||||
1.5 | 2000年11月 | ECMA-262 3 edition | 6.0 | 1.0 | 5.5 (JScript 5.5), 6 (JScript 5.6), 7 (JScript 5.7), 8 (JScript 6) |
6.0, 7.0, 8.0, 9.0 |
||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | 11.50 | ||||
1.8.1 | 1.8 + Native JSON support + Minor Updates | 3.5 | ||||||
1.8.2 | 2009年6月22日 | 1.8.1 + Minor updates | 3.6 | |||||
1.8.5 | 2010年7月27日 | 1.8.1 + ECMAScript 5 Compliance | 4 | 9 | 11.60 |
版本 | 说明 | 实现 |
---|---|---|
ECMA v1 | 标准化了JavaScript1.1的基本特性,并添加了一些新特性。没有标准化switch语句和正则表达式。 | 由Netscape 4.5和IE 4实现。 |
ECMA v2 | ECMA v1的维护版本,只添加了说明 | 由Netscape 4.5和IE 4实现。 |
ECMA v3 | 标准化了switch语句、异常处理和正则表达式。 | 由Mozilla、Netscape 6和IE 5.5实现。 |
HTML |
|
---|
XML |
|
---|
Web脚本 |
|
---|
Serv脚本 |
|
---|
.NET |
|
---|
多媒体 |
|
---|
文档呈现语言 |
|
---|
样式格式描述语言 |
|
---|
动态网页技术 |
|
---|
客户端交互技术 |
|
---|
客户端脚本语言 |
|
---|
标识定位语言 |
|
---|
文档纲要语言 |
|
---|
- 是一种解释性脚本语言(代码不进行预编译)。[4]
- 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。[4]
- 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。[4]
- 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
- 嵌入动态文本于HTML页面。[4]
- 对浏览器事件做出响应。[4]
- 读写HTML元素。[4]
- 在数据被提交到服务器之前验证数据。[4]
- 检测访客的浏览器信息。[4]
- 控制cookies,包括创建和修改等。[4]
- 基于Node.js技术进行服务器端编程。[6]
12345678910111213 | console.log( "a" ); //这是正确的 console.log( "b" ); //这是正确的 console.logg( "c" ); //这是错误的,并且到这里会停下来 console.log( "d" ); //这是正确的 console.log( "e" ); //这是正确的 /*解决办法*/ try {console.log( "a" );} catch (e){} //这是正确的 try {console.log( "b" );} catch (e){} //这是正确的 try {console.logg( "c" );} catch (e){} //这是错误的,但是到这里不会停下来,而是跳过 try {console.log( "d" );} catch (e){} //这是正确的 try {console.log( "e" );} catch (e){} //这是正确的 |
- Microsoft公司的JScript.
- Mozilla的JavaScript-C(C语言实现),现名SpiderMonkey
- Mozilla的Rhino(Java实现)
- Digital Mars公司的DMDScript
- Google公司的V8
- WebKit
版本 | 发布日期 | 基于 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Google Chrome |
---|---|---|---|---|---|---|---|---|
1.0 | 1996年3月 | 2.0 | ||||||
1.1 | 1996年8月 | 3.0 | 3.0 | |||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 1 edition / ECMA-262 2 edition | 4.06-4.7x | 4.0 | ||||
1.4 | Netscape Server |
|||||||
1.5 | 2000年11月 | ECMA-262 3 edition | 6.0 | 1.0 | 5.5 (JScript 5.5), 6 (JScript 5.6), 7 (JScript 5.7), 8 (JScript 6) |
6.0, 7.0, 8.0, 9.0 |
||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | 11.50 | ||||
1.8.1 | 1.8 + Native JSON support + Minor Updates | 3.5 | ||||||
1.8.2 | 2009年6月22日 | 1.8.1 + Minor updates | 3.6 | |||||
1.8.5 | 2010年7月27日 | 1.8.1 + ECMAScript 5 Compliance | 4 | 9 | 11.60 |
版本 | 说明 | 实现 |
---|---|---|
ECMA v1 | 标准化了JavaScript1.1的基本特性,并添加了一些新特性。没有标准化switch语句和正则表达式。 | 由Netscape 4.5和IE 4实现。 |
ECMA v2 | ECMA v1的维护版本,只添加了说明 | 由Netscape 4.5和IE 4实现。 |
ECMA v3 | 标准化了switch语句、异常处理和正则表达式。 | 由Mozilla、Netscape 6和IE 5.5实现。 |
HTML |
|
---|
XML |
|
---|
Web脚本 |
|
---|
Serv脚本 |
|
---|
.NET |
|
---|
多媒体 |
|
---|
文档呈现语言 |
|
---|
样式格式描述语言 |
|
---|
动态网页技术 |
|
---|
客户端交互技术 |
|
---|
客户端脚本语言 |
|
---|
标识定位语言 |
|
---|
文档纲要语言 |
|
---|