Javascript是什么?
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
JavaScript的标准是ECMAScript。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。
Javascript语言特性特点:
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
是一种解释性脚本语言(代码不进行预编译)。
主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
可以实现web页面的人机交互。
JavaScript脚本语言具有以下特点:
(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。
不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。
而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。
Javascript版本
版本 |
发布日期 |
基于 |
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实现。 |