流程控制

编程语言的流程控制分为三种:

  • 顺序结构(从上向下顺序执行)

  • 分支结构

  • 循环结构

之前我们学习的方式就是顺序执行,即代码的执行从上到下,一行行分别执行。

console.log("星期一");
console.log("星期二");
console.log("星期三");

分支结构

if 分支语句

if(条件){
     // 条件为true时,执行的代码
   }
   
   if(条件){
     // 条件为true时,执行的代码
   }else{
     // 条件为false时,执行的代码
   }
   
   if(条件1){
     // 条件1为true时,执行的代码
   }else if(条件2){
     // 条件2为true时,执行的代码
   
   }....
   
   }else{
     // 上述条件都不成立的时候,执行的代码
   }

switch语句

switch(条件){
      case 结果1:
           满足条件执行的结果是结果1时,执行这里的代码..
           break;
      case 结果2:
      	   满足条件执行的结果是结果2时,执行这里的代码..
      	   break;
      .....
      default:
           条件和上述所有结果都不相等时,则执行这里的代码
   }

switch('a'):
  case 1: //只会会执行case 1下面的xxx代码
  	xxx;
  	break;
  case 2:
  	xxx;
  	break;
  default:
  	xxx;

1、switch 比 if else更为简洁

2、执行效率更高。switch…case 会生成一个跳转表来指示实际的 case 分支的地址,而这个跳转表的索引号与 switch 变量的值是相等的。从而,switch…case 不用像 if…else 那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。

3、到底使用哪一个选择语句,代码环境有关,如果是范围取值,则使用 if else 语句更为快捷;如果是确定取值,则使用 switch 是更优方案。

循环语句

while循环

while(循环的条件){
      // 循环条件为true的时候,会执行这里的代码
}

循环案例:

var count = 0
while (count < 10){
    console.log(count);
    count++;
}

for循环

// 循环三要素
for (1.声明循环的开始; 2.条件; 4.循环的计数) {
    // 3. 循环条件为true的时候,会执行这里的代码
}

for (循环的成员下标 in 被循环的数据) {
    // 当被循环的数据一直没有执行到最后下标,都会不断执行这里的代码
}   

循环案例:

// 方式1
for (var i = 0; i < 10; i++) {
    console.log(i)
}

// 方式2
var arr = [111, 222, 333]
for (var i in arr) {
    console.log(i, arr[i])
}

退出循环(break和continue)

for (var i = 0; i < 100; i++) {
    if (i === 88) {
        continue  // 退出当次循环
        // break  // 退出当前整个循环
    }
    console.log(i)
}

Last updated