JavaScript学习之流程控制

分支结构

  • if语句

判断语句,语法结构如下:

if(expr){
      statement      
}

如果表达式expr为真,则执行语句statement,否则,忽略statement。

如果statement是单句,省略大括号,但是不建议这么做。

  • else语句

语法结构如下:

if(expr){
      statement1      
}else{
      statement2    
}    

如果表达式expr为真,则执行语句statement1,否则,执行statement2。

if/else可以嵌套。设计多重分支结构。

  • switch语句

语法结构如下:

switch (expr){
    case value1:
            statement1;
            break;
    case value2:
            statement2;
            break;
    case value3:
            statement3;
            break;
    case value4:
            statement4;
            break;
   default:
       default statement;
}
  • default语句

default是switch的子句,可以位于switch语句的任何位置。

default为默认项,case为判例。

default选线是唯一的,不可以扩展,case是可以扩展的。

case用于枚举,default用于异常处理。

循环结构

  • while语句

语法结构:

if(expr){
      statement      
}

如果表达式expr为真,则执行语句,执行结束后,再返回到expr表达式继续进行判断。直到表达式的判断为假,才跳出循环,执行下面的语句。

  • do/while语句

语法格式如下:

do{
    statement 
}while(expr)

能保证至少执行一次循环。

  • for语句

语法结构如下:

for(expr1;expr2;expr3){
    statement;
}

expr1:(代码块)开始前执行

expr2:定义运行循环(代码块)的条件

expr3:在循环(代码块)已被执行之后执行

实例:

for(var i = 0;i<10;i++){
    if (i%2 != 0) {
        console.log(i)
    }
}
  • for/in语句

适合枚举不确定长度的对象。

实例:

var a = ["python","javascript","java","c++","Go"];
for(var b in a){
    console.log(a[b]);        //遍历每个元素的值
}

流程控制

  • label语句和break语句

使用label语句可以为一行语句添加标签,以便在复杂的结构中设置跳转目标,语法结构如下:

label : statement



break label;

break语句和label语句配合使用仅限于嵌套的循环结构,或者嵌套的switch结构,且需要推出非当前层结构时。

  • continue语句

用于跳过本次循环中剩余的代码,并在表达式为真时,继续执行下一次循环。

JavaScript学习之流程控制

上一篇:leetcode 215 数组中第K个最大元素


下一篇:Go语言的学习日记1