流程控制
什么是流程控制?
js中的语句一般是按照写的顺序来运行的(从上到下,从左至右)。这种运行称为顺序运行,是程序流的默认方向。
与顺序运行不同,另一种运行将程序流转换到脚本的另外的部分。也就是不按顺序运行下一条语句,而是运行另外的语句。这种运行方式就叫做流程控制。简单来讲流程控制就是根据不同的情况做不同的事情。常见的流程控制有if语句、for循环、while循环。
if语句
js支持if和if...else条件语句。在if语句中将测试一个条件,如果该条件满足测试,执行相关的js代码。在 if...else 语句中,如果条件不满足,则执行不同的代码。最简单的if语句格式可以在一行中写完,不过更常见的是多行的 if 和 if...else 语句。
if语句:
1 var n=4; 2 if(n==4){ //条件满足 3 alert(1); //1 4 } 5 //也可以简写成以下格式 6 if(n==4)alert(1);
if...else:
1 var n=1; 2 if(n>4){ //条件不满足 3 alert(1); 4 }else{ 5 alert(2); //2 6 }
for循环
根据一定的条件,重复的执行一行或多行代码。
1 for(var i=0;i<5;i++){ 2 console.log(i);//0 1 2 3 4 3 }
运行流程:
第一步:条件初始化(var i=0;),声明变量的时候,可以放在小括号外面,但是括号里的第一个分号一定要存在 。
第二步:条件判断(i<10;),给第一步声明的变量限定了范围,决定了循环的次数 。
第三步:执行大括号里的代码(console.log(i);)。
第四步:条件变化(i++),执行一次大括号里的代码之后,让i的值加1 。
for走完第一次后,从第二次开始就不走第一步了,重复走第二步、第三步、第四步。当条件判断不成立(false)的时候for循环就会结束。给的条件一定要有不成立的时候,否则就会出现死循环 。
while循环
当条件成立的时候,去循环代码 。
1 var i=0; 2 while(i<5){ 3 console.log(i);//0 1 2 3 4 4 i++; 5 }
注意:一定要在代码块里,给一个条件变化,不然会死循环。
switch语句
根据变量的值做不同的事情。
1 var n=2; 2 //case后面的值将跟外面变量的值做对比,一旦相等就弹出对应的提示,如果都不相等就走default。 3 switch(n){ 4 case 2: 5 alert('今天星期2');//今天星期2 6 break; 7 case 3: 8 alert('今天星期3'); 9 break; 10 case 4: 11 alert('今天星期4'); 12 break; 13 default: 14 alert('今天到底星期几'); 15 }
break语句
跳出整个循环。
1 for(var i=0;i<5;i++){ 2 if(i==2){ 3 break;//当i等于2的时候跳出for循环 4 } 5 console.log(i);//0 1 6 }
continue语句
跳出当次循环。
1 for(var i=0;i<5;i++){ 2 if(i==2){ 3 continue;//当i等于2的时候跳出当次循环 4 } 5 console.log(i)//0 1 3 4 6 }