JavaScript入门

311 阅读4分钟

终于开始学习JavaScript了,要感谢阮一峰大佬的网道JavaScript教程,这是学习JavaScript最好的入门网站之一,这篇文章也是参考其中的入门篇。 闲话少说,进入正题。

什么是 JavaScript

JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。

因此,我们也说 JavaScript 也是一种嵌入式(embedded)语言。它本身提供的核心语法不多,只能做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供。

为什么学习 JavaScript

如果小白想要进入互联网行业,那么 JavaScript 就是最好的入门语言之一,只需要一个浏览器和一个编辑器,就可以进行学习。

并且随着各类框架的诞生,JavaScript 的适用范围,也慢慢超越了浏览器,正在向着通用的系统语言发展。譬如应用在服务器的NOde.js,移动开发的 React Native,桌面应用的 Election项目等等。

可以预期,JavaScript 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。

著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”

“所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)

JavaScript 的诞生

1994年10月,NCSA 的一个主要程序员 Marc Andreessen 联合风险投资家 Jim Clark,成立了 Mosaic 通信公司(Mosaic Communications),不久后改名为 Netscape。这家公司的方向,就是在 Mosaic 的基础上,开发面向普通用户的新一代的浏览器 Netscape Navigator。

Netscape 公司很快发现,Navigator 浏览器需要一种可以嵌入网页的脚本语言,用来控制浏览器行为。

管理层对这种浏览器脚本语言的设想是:功能不需要太强,语法较为简单,容易学习和部署。

1995年,Netscape 公司雇佣了程序员 Brendan Eich 开发这种网页脚本语言。

1995年5月,Brendan Eich 只用了10天,就设计完成了这种语言的第一版。它是一个大杂烩,语法有多个来源。

  • 基本语法:借鉴 C 语言和 Java 语言。
  • 数据结构:借鉴 Java 语言,包括将值分成原始值和对象两大类。
  • 原型继承模型:借鉴 Self 语言(Smalltalk 的一种变种)。
  • 正则表达式:借鉴 Perl 语言。
  • 字符串和数组处理:借鉴 Python 语言。

Netscape 公司的这种浏览器脚本语言,最初名字叫做 Mocha,1995年9月改为 LiveScript。12月,Netscape 公司与 Sun 公司(Java 语言的发明者和所有者)达成协议,后者允许将这种语言叫做 JavaScript。

可以看到,JavaScript 的诞生是非常仓促的,Douglas Crockford 还写了一本《JavaScript语言精粹》来吐槽其中的设计缺陷。因此我们在学习的时候,要注意辨别其中的陷阱。

JavaScript 的版本

1997年7月,ECMAScript 1.0发布。

1998年6月,ECMAScript 2.0版发布。

1999年12月,ECMAScript 3.0版发布,成为 JavaScript 的通行标准,得到了广泛支持。

2007年10月,ECMAScript 4.0版草案发布,对3.0版做了大幅升级,预计次年8月发布正式版本。由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA 开会决定,中止 ECMAScript 4.0 的开发(即废除了这个版本)。将其中涉及现有功能改善的一小部分,发布为 ECMAScript 3.1,而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该版本的项目代号起名为 Harmony(和谐)。会后不久,ECMAScript 3.1 就改名为 ECMAScript 5。

2009年12月,ECMAScript 5.0版 正式发布。

2011年6月,ECMAScript 5.1版发布,并且成为 ISO 国际标准(ISO/IEC 16262:2011)。

2015年6月,ECMAScript 6 正式发布,并且更名为“ECMAScript 2015”。