语法
区分大小写
true(关键字) 和 True (标识符),它们不一样。
标识符
所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。可以是按照下列格式规则组合起来的一个多个字符:
- 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
- 其他字符可以时字母、下划线、美元符号或数字。
按照惯例,采用驼峰大小写格式,也就是第一个字母小写,剩下的每个有意义的单词的首字母大写。例如,myCar、myShoe.
注释
分为单行注释和多行注释。
单行注释用双斜杠表示,多行注释用一个斜杠和一个星号开头,一个星号和一个斜杠结束。
var i=9;//这是单行注释
var str="嘻嘻";
/*这是多行注释
可以是很多行*/
严格模式
ECMAScript 5 引入了严格模式的概念。在严格模式下,ECMAScript 3 中的一些不确定的行为得到了处理,对某些不安全的操作也会抛出错误。
如果想在整个脚本文件中启用严格模式,在顶部添加以下:
"use strict";
看起来虽然像字符串,其实它是一个编译指示,告诉 js 引擎切换到严格模式。
如果想在某特定函数下执行严格模式,
function doSomething(){
"use strict"
//函数体
}
注意:严格模式下不能定义名为 eval 和 arguments 的变量, 否则会导致语法错误。
语句
语句以分号“;”结尾,虽然不是必须,但建议任何时候都不要省略它。
代码块以“{”开始,以“}”结束。if 语句只有执行多条语句的情况下才要求使用代码块,但还是推荐加上花括号。
关键字和保留字
ECMA-262描述了一组具有特定用途的关键字。关键字可用于表示控制语句的开始或结束,或者用于执行特定操作,按照规则,关键字也是语言保留的,不能用作标识符。以下是 ECMAScript 的全部关键字(带*号上标的是第五版新增的关键字)。
- | - | - | - |
---|---|---|---|
break | do | instanceof | typeof |
case | else | new | var |
catch | finally | return | void |
continue | for | switch | while |
debugger* | function | this | |
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 |
变量
定义变量
ECMAScript 的变量是松散型的,也就是可以用来保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符而已。定义变量时使用 var 操作符(var 是一个关键字),后跟变量名(即一个标识符),
例如:var message
直接初始化变量:var message="hello world";
注意: 使用 var 操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用 var 定义的一个变量,那么这个变量在函数结束后将会被摧毁。
function demo(){
var i=2; //局部变量
}
demo();
alert(i); //错误!
以下就是全局变量,在函数外部任何地方都可以被访问到。
function demo(){
i=2; //局部变量