概念
- 关键字:ECMA-262描述的一组具特定用途的,用于控制语句的开始或结束,或执行特定操作,如:break,else等。
- 保留字:在将来有可能被用作关键字。
- 标识符:变量、函数、属性的名字,或者函数的参数。
- 操作符:操作数据值。
- 语句:以一个分号;结尾。
- 代码块:以大括号{}包裹的一条或多条语句。
语法
- 区分大小写
ECMAScript中的一切(变量、函数名和操作符)都区分大小写。 - 标识符命名规范:
- 以字母、下划线_、或$开头
- 其他字符可以是字母、下划线_、$或数字
- 小驼峰,第一个字母小写,剩下的每个单词的首字母大写
- 关键字、保留字、true、false、null不能用作标识符
- 注释
//单行注释
/*
*这是多行注释
*/
第二行的*不是必需的,是为了提高注释的可读性。
- 严格模式
"use strict";
变量
变量:保存任何数据类型的容器。
var a; //变量声明
a = 3; //变量赋值,给未经声明的变量赋值在严格模式下会报错,ReferenceError
var a = 3; //声明变量并赋值
var操作符声明(定义)的变量会提升到该变量所在的作用域(此处是函数作用域)的顶部,
将成为声明该变量作用域(text函数作用域)中的局部变量。
function text(){
var name = "danny"; //局部变量
}
text();
alert(name); //错误,name为局部变量,在函数退出后会被销毁
function text(){
name = "danny"; //全局变量
}
text(); //只有调用了函数,name才会被定义
alert(name); //danny
//省略var可以声明全局变量,但不推荐
//原因:1.在局部作用域中的全局变量很难维护;2.省略var,相应的变量不会马上有定义,会导致不必要的混乱