•ECMAScript 的语法大量借鉴了C及其他类C语言(如Java和Perl)的语法。因此,熟悉这些语言的开发人员在接受ECMAScript更加宽松的语法时,一定会有一种轻松自在的感觉。
•区分大小写 理解的第一个概念就是ECMAScript中的一切(变量、函数名和操作符)都区分大小写。
•标识符 所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则组合起来的一或多个字符:
√ 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
√ 其他字符可以是字母、下划线、美元符号或数字。
按照惯例,ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,例如:firstSecond 、 doSomethingImportant
•注释 ECMAScript使用C风格的注释,包括单行注释和块级注释。单行注释以两个斜杠开头,如下所示:
// 单行注释
块级注释以一个斜杠和一个星号(/*)开头,以一个星号和一个斜杠(*/)结尾,如下所示:
/*
* 这是一个多行
* (块级)注释
*/
•变量 ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用var操作符(注意var是一个关键字),后跟变量名(即一个标识符),如下所示:var message;
•数据类型 ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制,而所有值最终都将是上述6种数据类型之一。
☆typeof 操作符 鉴于ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供这方面信息的操作符。对一个值使用typeof操作符可能返回下列某个字符串
┝─"undefined"——如果这个值未定义;
┝─"boolean"——如果这个值是布尔值;
┝─"string"——如果这个值是字符串;
┝─"number"——如果这个值是数值;
┝─"object"——如果这个值是对象或null;
┝─"function"——如果这个值是函数。
☆Undefined类型 Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
☆Null类型 Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时会返回"object"的原因。 实际上,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true: alert(null == undefined); //true
☆Boolean类型是ECMAScript中使用得最多的一种类型,该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。以下是为变量赋Boolean类型值的例子:
☆Number类型
☆Boolean类型
• NaN NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0都会导致错误,从而停止代码执行。但在ECMAScript中,任何数值除以0会返回NaN,因此不会影响其他代码的执行。