第3章 JavaScript基本语法
JavaScript遵循ECMA-262标准,ECMA-262通过ECMAScript语言规范描述了JavaScript所有的基本概念。ECMAScript语法大量借鉴C及其他类C语言(如Java和Perl)的语法,如果读者熟悉这些语言,学习和使用JavaScript会比较亲切、轻松。
目前,ECMA-262第3版中定义的ECMAScript是各浏览器实现最多的JavaScript版本。ECMA-262第6版(ECMAScript 2015)是最新的正式版本,但该版本还没有被浏览器完全实现。本章(包括后面各章节)将主要根据第3版定义的ECMAScript规范介绍JavaScript基本语法和概念。
【学习重点】
▲ 了解JavaScript语法体系
▲ 了解词法基本概念
▲ 了解句法基本概念
3.1 词法基础
JavaScript语法就是指构成合法的JavaScript代码的所有规则和特征的集合,它包括词法和句法。词法包括字符编码、命名规则、标识符、关键字、注释规则和特殊字符用法等。
3.1.1 字符编码
JavaScript程序使用Unicode字符集编写。Unicode是ASCII和Latin-1的超集,并支持几乎所有在用的语言。ECMAScript 3要求JavaScript实现必须支持Unicode 2.1及后续版本,ECMAScript 5则要求支持Unicode 3及后续版本。
在JavaScript程序中每个字符都使用两个字节来表示,这意味着用户可以使用中文来命名变量或函数名。
【示例】启动Dreamweaver,新建文档,保存为test.html,在页面嵌入<script>标签,然后在该标签中输入下面代码,则可以正常执行,效果如图3-1所示。


图3-1 使用中文编写脚本运行效果
注意:虽然ECMAScript v3标准允许Unicode字符出现在JavaScript程序的任何地方,但是在第1、2版本中,ECMAScript标准只允许Unicode字符出现在注释或者引号包含的字符串直接量中,其他地方必须使用ASCII字符集,在ECMAScript标准化之前,JavaScript通常是不支持Unicode编码的。所以,考虑到JavaScript版本的兼容性以及开发习惯,不建议读者使用汉字来命名变量或函数名。
提示:由于JavaScript脚本一般都寄存在网页中,并最终由浏览器来解释,因此在考虑到JavaScript语言编码的同时,还要顾及嵌入页面的字符编码,以及浏览器支持的编码。一般建议保持页面字符编码与JavaScript编码一致,避免出现乱码现象。
3.1.2 大小写敏感
JavaScript严格区分大小写。为了避免输入错误,用户可以采用一致的字符大小写形式,例如,遵循习惯所有字符都采用小写形式,这样可以有效减少输入错误,不过有两点例外。
(1)定义JavaScript构造函数时,根据习惯对象名称的首字母应该大写。
【示例1】下面脚本调用预定义的构造函数Date(),创建一个时间对象,最后把时间对象转换为字符串显示出来。

(2)如果遵循骆驼命名法或帕斯卡命名法,标识符中部分字符可以考虑以大写形式输入。
骆驼命名法就是在名称中每一个逻辑断点都有一个大写字母来标记,例如:
printEmployeePaychecks();
如果使用下划线命名法,则可以按如下方式输入:
print_employee_