JavaScript中的几个重要概念

JavaScript 遵循 ECMA-262 规范,目前其最新版是 ECMAScript 2018,而获得所有主流浏览器完全支持的则是 ECMAScript 5。以ECMAScript 5版本为基础,兼顾 ECMAScript 6 版本 中获得较大支持的新特性进行介绍。

基本词法

JavaScript 语法就是指构成合法的 JavaScript 程序的所有规则和特征的集合,包括词法和句法。简单描述如下:
  • 词法定义了 JavaScript的基本名词规范,包括字符编码、命名规则、标识符、关键字、注释规则、 运算符和分隔符等。
  • 句法定义了 JavaScript的基本运算逻辑和程序结构,包括短语、句子和代码段的基本规则,如表达式、语句和程序结构等。

区分大小写

JavaScript 严格区分大小写。为了避免输入混乱和语法错误,建议采用小写字符编写代码。在以下特殊情况下可以使用大写形式:

1) 构造函数的首字母建议大写。构造函数不同于普通函数。

示例

下面示例调用预定义的构造函数 Date(),创建一个时间对象,然后把时间对象转换为字符串显示出来。
d = new Date();  //获取当前日期和时间
document.write(d.toString());  // 显示日期

2) 如果标识符由多个单词组成,可以考虑使用骆驼命名法——除首个单词外,后面单词的首字母大写。例如:
typeOf();
printEmployeePaychecks();

提示:

上述都是约定俗成的一般习惯,不构成强制性要求,用户可以根据个人习惯进行命名。

直接量

直接量(Literal)就是具体的值,即能够直接参与运算或显示的值,如字符串、数值、布尔值、正则表达式、对象直接量、数组直接量、函数直接量等。

示例

下面示例分别定义不同类型的直接量:字符串、数值、布尔值、正则表达式、特殊值、对象、数组和函数。
//空字符串直接量
1  //数值直接量
true  //布尔值直接量
/a/g  //正则表达式直接量
null  //特殊值直接量
{}  //空对象直接量
[]  //空数组直接量
function(){}  //空函数直接量,也就是函数表达式

转义序列

转义序列就是字符的一种表示方式(映射)。由于各种原因,很多字符无法直接在代码中输入或输出,只能通过转义序列间接表示。
  • Unicode 转义序列方法:\u + 4位十六进制数字。
  • Latin-1 转义序列方法:\x + 2位十六进制数字。

示例

对于字符“©” , Unicode 转义为 \u00A9,ASCII 转义为 \xA9。
document.write("\xa9");  //显示字符©
document.write("\u00a9");  //显示字符©