04-JS基础-流程控制

JavaScript提供3种流程结构:顺序结构、选择结构、循环结构。
顺序结构:默认的流程结构。按照书写顺序从上至下执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。

选择结构
  • if
  1. if 第一种形式
    如果条件表达式为真,执行语句块1,否则不执行。
if(条件表达式)
{
    语句块1
}
  1. if 第二种形式
    如果条件表达式为真,则执行语句块1,否则执行语句块2。
if(条件表达式)
{
   语句块1
}else{
   语句块2
}
  1. if第三种形式
    如果条件表达式1为真,则执行语句块1,否则判断条件表达式2,如果为真执行语句块2,否则再判断条件表达式3,如果真执行语句块3,当表达式1、2、3都不满足,会执行最后一个else语句。
if(条件表达式1)
{
    语句块1
}else if(条件表达式2){
    语句块2
}else if(条件表达式3){
    语句块3
}else{
    语句块4
}

注意:对于非Boolean类型的值,会先转换为Boolean类型后再判断。

  • Switch
    基本格式:
switch(条件表达式){
  case 表达式:
      语句1;
      break;
  case 表达式:
      语句2; 
      break;
  case 表达式n:
      语句n;
      break;
  default:
      语句n+1;
      break;
}

计算条件表达式的值。 并逐个与case后面表达式的结果值比较
当条件表达式的值与某个表达式的值全等时, 执行其后的语句,并且不会再与其它case进行比较;
如果条件表达式的值与所有case后的表达式均不相同时,则执行default后的语句。

case后可以是常量也可以是变量。

注意:
1)JavaScript中case判断是否相等时是全等于(===),而不是等于(==)。
2)如果不写break,当结果为true时,会从当前case开始,下面的代码都会被执行。

  • if语句和switch语句选择
    分支比较多且无法穷尽时最好用 if, 其它情况可以按照个人习惯;
    如果数据量不是很大, 并且数据是固定的可以用Switch;
循环结构
  • while循环
    格式:
while ( 条件表达式 ) {
     语句1;
     语句2;
     ....
 }

while语句执行流程:
1)判断条件表达式是否为真,如果为真执行后面大括号中的内容;
2)执行完毕再次判断条件表达式是否还为真,如果为真执行后面大括号中的内容;
3)重复上述过程,直到条件不成立就结束while循环;

// 输出0-9
var num = 0;
while (num < 10){
  console.log(num); 
  num++;
}

对于非Boolean类型的值, 会先转换为Boolean类型再判断。

  • do-while循环
    格式
 do {
     语句1;
     语句2;
     ....
 } while ( 条件 );

do-while语句执行流程:
1)首先会执行一次循环体中的语句;
2)接着判断while中的条件表达式是否为真,如果为真再次执行循环体中的语句;
3)重复上述过程,直到条件不成立就结束while循环;

  • for循环
    格式:
for(初始化表达式;循环条件表达式;循环后操作表达式)
{
    执行语句;
}

for循环执行流程:
1)先执行初始化表达式,而且在整个循环过程中只执行一次初始化表达式;
2)判断循环条件表达式是否为真,如果条件为真,就会执行循环体中的语句;
3)循环体执行完毕后,接下来会执行循环后的操作表达式;
4)执行完循环后操作表达式, 然后再次判断循环条件表达式是否为真,如果条件为真,就会执行循环体中的语句;
5)重复上述过程,直到条件不成立就结束for循环;

  movies = ['海贼王', '名侦探柯南', '火影忍者']
  for (let i = 0; i < movies.length; i++){
    console.log(movies[i])
  }
  // ES6语法一
  for (let i in movies){
    console.log(movies[i])
  }
  // ES6语法二
  for (let item of movies){
    console.log(item)
  }
  • break和continue
    break:跳出switch、跳出循环语句,在多层循环中,一个break语句只向外跳一层。
    continue:跳过当前循环体中剩余的语句而继续下一次。

你可能感兴趣的:(04-JS基础-流程控制)