《JavaScript权威指南》笔记三

js程序无非就是一个以分号分隔2的语句集合。

5语句

条件语句(if switch)
循环语句 (for while)
跳转语句 (break return throw)
空语句
//初始化一个数组a
for(var i =0; i < a.length; a[i++] = 0) /* empty */ ;

5.3 声明语句

var function声明变量、函数
函数声明只能出现在js代码最顶层,也可以嵌套在其他函数体内(也必须在顶部)

5.4 条件语句

5.4.1

if(sxpression)
    statement 1 
else
    statement2

5.4.2

switch(expression){
    case expression:
    //代码块
    break;
}

用break或return(函数中)终止

如没有break,会从匹配到的case向下逐个执行,直到结尾

表达式匹配是按 ===(恒等运算符) 来匹配,表达式和case的匹配并不会做人任何类型转换。

5.5 循环

5.5.1 while

while(){
}

5.5.2 do while

do{
}while()

5.5.3 for
for(初始化操作者;循环判断条件;计数器变量的更新)
5.5.4 for/ in

for(variable in object)
    statement(语句或语句块)

variable(一个变量或者表达式)

var o = {name:'smy',sex:'女'};
var arr = [];
i = 0;
for(arr[i++] in o);
console.log(arr); //['name','sex']
for(var i = 0;i < arr.length;i++){
console.log(o[arr[i]]) // smy 女
}

5.6 跳转

break跳转到循环或者其他语句的结束
continue 是终止本次循环的执行并开始下一次循环的执行。
return 跳出函数体,并提供返回值
throw 触发或 ‘抛出’异常
5.6.1 标签语句
identifier :statement
break/continue 可以使用标签语句
statement可以是普通语句也可以是代码块

test: for (var i = 0; i < 3; i++) {
console.log('visible');
continue test; //continue跳出本次循环进行下次循环,break跳出整个循环
console.log('invisible');
}

5.6.2 break
立即退出最内层循环或switch
5.6.3 continue
不退出循环,而是转而执行下一次循环。
5.6.4 return
5.6.5 throw
5.6.7 try/catch/finally

try{
}
catch(e){
    //try抛出异常,执行这里代码
}
finally{
          
}

//try中有return,continue,break跳转语句,在跳出之前,先执行finally
如若有异常,而且与try语句相关的catch不是处理这个异常的,先执行finally,再向上匹配

var foo = function () {
    try{
    //抛出一个异常
    }
    finally {
        return 1;
    }
};
foo(); //1

5.7 其他语句类型

你可能感兴趣的:(《JavaScript权威指南》笔记三)