1. 流程控制简介
流程控制,可以让代码产生类似于人脑思维的智能判断。
2. 流程控制分类
2.1 顺序结构
就像我们读书的顺序一样,代码的执行顺序也是从上到下,从左往右。
2.2 分支结构
-
单一分支
//1.判断是否有钱啦: var money = true; if(money==true){ console.log('我要去周游世界!'); }
-
双向分支
//2.判断是否有钱啦: var money = true; if(money==true){ console.log('我要去周游世界!'); }else{ console.log('我要继续努力赚钱!'); }
-
多向分支
-
if 多向分支
//判断学生成绩: var score = 100; //成绩=100分 if( score==100 ){ console.log('我是个天才~'); }else if( score>=90 && score<100 ){ console.log('我很优秀嘛~'); }else if( score>=80 && score<90 ){ console.log('我还不错的~'); }else if( score>=60 && score<80 ){ console.log('我还有救的~'); }else if( score>0 && score<60 ){ console.log('别放弃治疗~'); }else{ console.log('我还是回火星吧,地球不适合我~') }
-
switch 多向分支
//一周工作安排 var week = '周一'; switch(week){ case '周一': console.log('愉快的去上班'); break; case '周二': console.log('开心的去上班'); break; case '周三': console.log('愣愣的去上班'); break; case '周四': console.log('呆呆的去上班'); break; case '周五': console.log('傻傻的去上班'); break; case '周六': console.log('今天不上班,欧耶!'); break; case '周日': console.log('明天竟然要上班了!'); break; default: console.log('欢迎来到火星!'); break; }
-
-
巢状分支
分支当中包含了其他的分支,这就是巢状分支。
// var name = "张某某"; var sex = "女"; var age = 80; if(sex=="男"){ if(age>60){ console.log(name+" 这个人,是男人, 已经退休"+(age-60)+"年了<br>"); }else{ console.log(name+" 这个人,是男人, 还有"+(60-age)+"年就退休<br>"); } }else{ if(age>55){ console.log(name+" 这个人,是女人, 已经退休"+(age-55)+"年了<br>"); }else{ console.log(name+" 这个人,是女人, 还有"+(55-age)+"年就退休<br>"); } }
2.3 循环结构
某些情况下,我们需要让程序循环执行,直到得到我们想要的结果。
-
While 循环
//1.while循环:判断小括号的条件是否成立,成立则执行大括号的代码并持续询 //问小括号条件是否依然成立,一直到不成立跳出循环 var a = 1; while(a<=3){ console.log('条件成立,执行第'+a+'次循环'); a++; }
-
do...while 循环
//2.do...while循环:先执行一次代码主体,然后判断while后的条件, //若成立则继续执行代码主体,更新条件后再判断,直到条件不成立为止 var a = 1; do{ console.log('条件成立,执行第'+a+'次循环'); a++; }while(a<=3);
-
for 循环
//3.for循环:首先,在for后的括号里定义变量赋初值,然后判断条件是否成立, 成立则执行花括号的代码内容,然后变量更新后再次判断条件是否成立,以此类推, 直到条件不成立后跳出循环 for(var i=1 ; i<=3 ; i++){ console.log('条件成立,执行第'+i+'次循环'); } //4.continue 和 break //① continue 跳过本次 for(var i=1; i<=5; i++){ if(i==3){ // continue; // break; } console.log('条件成立,执行第'+i+'次循环'); }