声明语句(var,function)
var和function都是声明语句,分别声明变量和函数。
注意,多次声明同一个变量是无所谓的
- 使用var的话,只有变量声明提前了——变量的初始化代码还在原来的位置。
- 然而使用function的话函数名称和函数体均提前:脚本中的所有函数和嵌套函数都会提前声明,也就是说,可以在函数声明之前调用它
- 和var语句一样,function声明语句创建的变量也是无法删除的。但是这些变量不是只读的,变量值可以重写。
条件语句
case
对每个case的匹配操作使用“===”恒等运算符比较,而不是“==”相等运算符,因此,表达式和case的匹配并不会做任何类型转换。
循环
for/in
for/in循环是用来更方便的遍历对象属性成员
for(var p in o)
console.log(o[p])
在执行for/in语句时,Javascript解释器首先计算obj表达式。
如果表达式为null或undefined,jacascript解释器将会跳出循环并执行后续的代码。
如果表达式是一个原始值,这个原始值将会转换为对应的包装对象(wrapper object)。
如果表达式是对象,则依次枚举对象的属性来执行循环。
需要注意的是,只要for/in的左值可以是可赋值的任意表达式:
1 var o={x:1,y:2,z:3}; 2 var a=[],i=0; 3 for(a[i++] in o) //使用数组元素做左值 4 ...