15天学会JavaScript(视频教学版)
上QQ阅读APP看书,第一时间看更新

1.1 JavaScript概述

首先,我们简单介绍一下JavaScript脚本语言的概念、发展历史、标准规范和组成部分等内容,为读者掌握JavaScript技术打好基础。

1.1.1 JavaScript脚本语言的概念

JavaScript是一种直译式的脚本语言,是内置支持动态类型、弱类型、基于原型的编程语言。JavaScript既然是直译式的脚本语言,自然就需要一款解释器来执行脚本程序。那么什么是解释器呢?

所谓解释器,简单来说就是在执行程序时、负责将程序代码解释成机器语言,然后交由计算机操作系统运行的程序工具。因此,解释器本质上也是一种计算机程序,不过是负责运行程序的程序。

读者若是没有清楚地理解解释器的概念,没关系,笔者再多讲一些来帮助读者加深理解。其实,与解释器相对应的是编译器这个概念。编译器的功能是负责将程序代码编译成机器语言后、再存储成一种特定的二进制文件(Windows系统也称为可执行文件),这样计算机操作系统就可以直接运行该程序。例如,读者所熟知的C语言和Java语言,都是编译类型的程序语言。

理解编译器与解释器的区别,自然也就明白JavaScript直译式脚本语言解释器的重要性。因此,设计人员就赋予JavaScript解释器一个十分高大上的名字——JavaScript引擎。JavaScript引擎是运行JavaScript脚本语言的核心。

目前,JavaScript引擎已经全部内置于主流浏览器之中,虽然各个浏览器厂商在功能实现上各有特点,但均是遵循ECMA(欧洲计算机制造商协会)推出的ECMAScript标准开发的,这样就保证其最大程度的兼容性。例如,Google公司推出的Chrome浏览器中所内置的V8引擎就是非常有影响力、性能非常强大的JavaScript引擎。

1.1.2 JavaScript发展历史

JavaScript的发展历史可以说是一波三折,下面就简单回顾一下。JavaScript最初由Netscape公司(著名的网景公司)的Brendan Eich于1995年设计的,而且最初也是在Netscape浏览器上设计实现的。

其实,JavaScript最初的名称是LiveScript,不过由于后来Netscape公司与Sun公司的合作而将其改名为JavaScript。如果将JavaScript拆开来就是“Java + Script”,而Java语言是Sun公司比较著名的产品之一,这一切都源于JavaScript最初就是受Java启发而模仿设计的。至今,我们仍可以看到JavaScript在语法和命名规范上都有Java语言的影子,二者确实有着千丝万缕的渊源。

JavaScript发展初期并没有确立所谓的统一标准,而在同期除了JavaScript语言,还有微软的JScript语言和CEnvi的ScriptEase语言,这三种脚本语言均可以在浏览器中运行。尤其是JScript语言,就是微软在看到JavaScript的迅猛势头后,针对JavaScript而推出的。这一时期可以说是群雄逐鹿,各个厂商都在加紧研发自己的产品。

事物的发展绝大多数情况总是向着好的方向发展的。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定了统一脚本语言标准ECMA-262,也就是大家所熟知的ECMAScript。

目前,ECMA-262规范事实上就是脚本语言的设计标准,各大浏览器厂商在浏览器产品上实现JavaScript功能时,都必须要遵循ECMA-262规范,这也是出于兼容性考虑。当然,在实现一些浏览器特效时又有各自的特点,这也是JavaScript跨平台设计时需要设计人员需要注意的。

1.1.3 JavaScript的组成

说到JavaScript脚本语言的组成,就不得不提到ECMAScript规范标准了。事实上,完整的JavaScript脚本语言包含三个部分(详见图1.1):ECMAScript规范标准,浏览器对象模型(BOM),文档对象模型(DOM),具体描述如下:

  • ECMAScript:描述JavaScript语言的语法和基本对象;
  • 浏览器对象模型(BOM):描述JavaScript语言与浏览器进行交互的方法和接口;
  • 文档对象模型(DOM):描述JavaScript语言处理网页内容的方法和接口。

图1.1 JavaScript的组成

1.1.4 ECMAScript概述

前文中,我们简单介绍了ECMAScript的由来,知道了ECMAScript其实是一种标准规范。具体来讲,ECMAScript是由ECMA国际(前身为欧洲计算机制造商协会,英文全称是European Computer Manufacturers Association)通过ECMA-262规范标准化了的脚本程序设计语言。而我们所熟知的、用于网页设计的JavaScript和JScript,实际上也都是基于ECMA-262标准规范而扩展设计的脚本语言。

ECMAScript自诞生至今,已经经历了多次重大的版本更新,目前共计有6个版本。最新的一个版本是ECMAScript 6,该版本是ECMA于2015年6月17日正式发布的,也称为ECMAScript 2015。

ECMAScript标准规范是由ECMA的第39号技术专家委员会(Technical Committee 39,简称TC39)负责制订的,其成员自然包括Google、Microsoft、Mozilla等互联网技术巨头公司。TC39的职责就是要保证ECMAScript新版本的基本兼容性,在较大的语法修正及新功能特性增加方面,兼顾老版本的语言支持。

1.1.5 JavaScript的特点

JavaScript实际上就是一种应用于Web客户端开发的脚本语言,主要用来增强网页的动态功能,提高用户的交互体验。JavaScript脚本语言的主要特点如下:

  • JavaScript是一种解释性脚本语言(直译式),需要解释器来执行,该解释器也被称为JavaScript引擎;
  • JavaScript脚本语言通常是嵌入在HTML网页代码中来实现交互功能的;
  • JavaScript脚本语言具有很友好的跨平台特性(如Windows、Linux、Mac、Android、iOS等平台),同样也具有跨浏览器特性;
  • JavaScript脚本语言具有非常好的面向对象功能,基于其开发的前端框架十分丰富,功能也十分强大(如ProtoType、jQuery等框架);
  • 随着JavaScript技术的不断发展,JavaScript开发不单单是应用于客户端,目前已经有用于服务器端开发的Node.js框架。

与其他编程语言一样,JavaScript脚本语言支持基本数据类型、表达式、算术运算符及基本程序框架。JavaScript脚本语言提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字,而JavaScript表达式则可以完成较复杂的信息处理。