1.区分大小写
ECMAScript的一切都区分大小写,包括变量,函数名,操作符,如变量test和Test是不同的
2.标识符
所谓标识符是指变量、函数、属性的名字或者函数的参数。标识符必须遵守下面的规则:
1)第一个字符必须是字母、下划线(_)或者美元符号($);
2)其他字符可以是字母、下划线、美元符号或者数字;
标识符中的字母也可以包含扩展的ASCII或Unicode字母字符(如À和Æ),但我们不推荐这样做。
ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,如firstSecond
3.注释
// 单行注释块级
注释以一个斜杠和一个星号(/*)开头,以一个星号和一个斜杠(*/)结尾,如下所示:
/* * 这是一个多行* (块级)注释*/
4.严格模式
ECMAScript 5引入了严格模式(strict mode)的概念。严格模式是为JavaScript定义了一种不同的解析与执行模型。在严格模式下,ECMAScript 3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。要在整个脚本中启用严格模式,可以在顶部添加如下代码:"use strict";
也可以指定函数在严格模式下执行:
function doSomething(){ "use strict"; //函数体}
5.语句
ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如下例所示:
var sum = a + b // 即使没有分号也是有效的语句——不推荐
var diff = a - b; // 有效的语句——推荐虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它
6.关键字和保留字
ECMAScript的全部关键字(带*号上标的是第5版新增的关键字):break do instanceof typeof case else new var catch finally return void continue for switch while debugger* function this with default if throw delete in try
以下是ECMA-262第3版定义的全部保留字:abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
第5版把在非严格模式下运行时的保留字缩减为下列这些:class enum extends super const export import 在严格模式下,第5版还对以下保留字施加了限制:implements package public interface private static let protected yield
7.变量
ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。
定义变量时要使用var操作符(注意var是一个关键字),后跟变量名(即一个标识符),如下所示:
var message;像这样未经过初始化的变量,会保存一个特殊的值——undefined
var a=10;声明变量并初始化
省略var操作符,从而创建一个全局变量,但这也不是我们推荐的做法。因为在局部作用域中定义的全局变量很难维护:
function test(){ message = "hi"; // 全局变量} test(); alert(message); // "hi"