流程控制就是来控制我们的代码按照什么结构顺序来执行
正常情况下js的代码从上往下执行,通过流程控制之后可以不遵循这个规则
条件判断
单向分支:
如果符合条件则执行,不符合则跳过
if(条件){
}
双向分支
if(条件){
条件成立时执行
}else{
条件不成立时执行
}
多向分支
if(条件){
成立时执行
}else if(条件){
成立第二个条件时执行
}else{
条件均不成立时执行
}
switch…case
switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。
switch(条件){
case 分支:
break;
case 分支:
break;
//当所有的case都不满足时执行 一般放置在所有的case后面
default:
break;
}
switch语句和if else if语句的区别
一般情况下,它们两个语句可以相互替换。
switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)。
switch语句进行条件判断后直接执行到程序的条件语句,而if…else…语句有几种条件,就得判断几次(从上到下依次判断)。
当分支比较少时,if…else…语句的执行效率比switch语句更高。
当分支比较多时,switch语句的执行效率比if…else…语句更高,结构也更清晰。
循环
for循环(显示迭代)
在程序中,一组被重复执行的语句被称为循环体,而能否继续重复执行,则取决于循环的终止条件。
循环语句是指由循环体和循环的终止条件造成的句子。
for循环主要用于把某些代码循环若干次,通常跟计数有关系。
for(初始值;判断条件;改变条件){
循环体
}
常见的例子:
for(var i=0;i<5;i++){
console.log(i)
}
循环中的关键字
break:终止整个for循环,后面的内容将不会执行
for(var i=1;i<10;i++){
// 如果满足条件则执行,不满足则跳过
if(i%2==0){
// 跳出整个循环体(跳出整个for循环,for循环的代码到此结束)
break;
}
console.log(i)//1
}
continue:结束当前循环,继续执行下一个循环
for(var i=1;i<10;i++){
// 如果满足条件则执行,不满足则跳过
if(i%2==0){
//跳出本次循环,继续执行下一个循环
continue;
}
console.log(i)//1 3 5 7 9
}
while循环
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环
while(判断条件){
循环体
}
示例:
var i=0;
while(i<=10){
console.log(i);
i+=2;
}
do…while循环
do…while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。(do while循环语句至少执行一次循环体代码)
do{
循环体
}while(判断条件)
var num = 5;
do{
console.log(num)
}while(num>10)
注意:
while是先判断再执行循环体内容
do…while是先执行一次循环体,再进行判断