程序的流程控制就是指程序运行时,个别指令运行或求值的顺序。复杂的程序时由若干

个基本结构组成,每个基本结构可以包含一条或者若干条语句。程序中语句的执行顺序

称为程序结构。

1、顺序结构 -> 程序语句是按照书写顺序执行

2、选择结构 -> 某个条件来决定是否执行

3、循环结构 -> 程序中某些语句要反复执行多次

Demo1:约女孩子看电影的流程

 //>>使用编程语言定义两个人 通信方式 以及 电影票  var boy = "小强"; //男主角  var girl = ["小红","小花“,"小莉“,"小兰"]; //备选女主角,现在从以前都一个变成多个了  //定义一个变量来保存女孩是否有空的状态,如果有空为true,没有空为false  var flag = false;//默认没空,做最坏的打算  var conectType = "微信";  var film = "智取威虎山";  for(var i=0;i<5;i++){  //在这里循环去问女孩是否有空  document.write(boy+":"+girl[i]+"今晚有空吗?我们去看"+film);  }  //假如询问完成以后小兰有空,那么返回一个状态 true  flag = true;  //根据这个状态来执行后面的操作  if(flag){//这里表示已经约到人来  document.write("马上打开app开始订票");  //>>订票,约定见面时间    document.write("选择"+girl+"附近电影院,6:30场次,付款");    docment.write(boy+":"+"订了你家附近xx电影院6:30的票");    docment.write(girl+":"+boy+"那我们6:00电影院门口见面");  //>>取票、进场、看电影    document.write("取票、进场、看电影");  //>>电影结束 各自回家    document.write('电影结束 各自回家');  }else{//这里表示没有约到人到情况    document.write('回家睡大觉');  }

总结:从上面到例子可以看出,编程就是去考虑多种情况,采取不同到方案应对可能出现到情况,最终实现我们需求到一个过程。流程控制是程序到基础,必须掌握

Demo2:判断成绩是否合格(if,if...else)

  var num = prompt("请输入分数:");//获得分数  if(num<60){//如果小于60 执行里面的代码  console.log("同学,你考了"+num+“分,没有及格哦”);  }else{//如果大于等于60 执行里面的语句  console.log("同学,恭喜你,考了"+num+“分,成功晋级”);  }

总结:if...else 语句和if语句很像,只是多了一种应对方案,if语句里面,如果条件不成立,那么就什么都不用做,而if...else语句多了一个功能,那就是如果if条件里面的条件不满足,那么就执行else后面括号中的内容。所以,用if...else语句,要么执行if后面括号的代码,要么执行else后面括号中的代码,二选一

Demo3:判断季节(switch)

  /**  * 输入1--4分别再对应输出 春夏秋冬 ,其他的输出 “未知季节”  */  var num = prompt('请输入:');  switch (num){  case 1:  //当用户输入1的时候,执行这里的代码  document.write('春');  break;  case 2:  //当用户输入2的时候,执行这里的代码  document.write('夏');  break;  case 3:  //当用户输入3的时候,执行这里的代码  document.write('秋');  break;  case 4:  //当用户输入4的时候执行这里的代码  document.write('冬');  break;  default:  //以上情况都不满足的时候,执行这里的代码  document.write('未知季节');  break;  }

总结:到这里选择结构的几大语句已经学完,可以大体分为两类if语句和switch语句,if语句又叫作条件分支语句,知道某个条件的时候使用if语句,主要的应用场景就是做条件的判断,switch语句主要是表示在某些状态下做出具体反应,又叫作状态分支语句,当不知道条件,但是知道用户输入的状态的时候,用switch状态分支会更好。以上语句的写法都是固定的,必须严格按照语法规则来写

Demo4:循环输出1-100.(for循环)

//语法结构:  for(初始化表达式;条件表达式;条件改变表达式){      循环体;  }//输出1-100  for(var i=1;i<100;i++){      document.write(i+"
");  }

注意:如果条件表达式永远为真的情况下,程序就会一直循环,造成死循环,把浏览器卡死

Demo5:一张纸的厚度是0.01毫米,对折多少次后能超过1米?(while循环)

  var paper = 0.01;//纸的初始厚度  var count = 0;//统计折纸次数  while(paper<1000){      paper = paper*2;      count++  }  console.log(count);

总结:while和for都可以用来做循环,那么它们各自的应用场景是什么呢?什么情况下用for,什么情况下用while?从上面的代码我们可以知道,使用for循环的话得先知道要循环多少次,这个次数是已经知道了的,而while的特点就是只要条件表达式为真就循环,否则就退出,所以,我们得出一个常用的结论,当知道循环次数的时候,用for循环要方便一些,当不知道次数,但是知道条件表达式什么时候为false,这个时候可以用while更方便一些。

Demo6: 模拟考试(do...while)

  var i = 0;  do{      i++;      var score = parseInt(Math.random()*101);      console.log("第"+i+"次考试成绩为:"+score+"
");  }while(score<60);      console.log('考试通过!
');

总结:do while循环和while循环的用法差不多,只是do while循环比较粗暴,一上来不管三七二十一就先执行一次,执行完成了以后再去问问条件表达式是否满足条件,所以说do while循环执行循环体的次数是大于等于1次,而while循环比较温柔,先上来问问条件表达式可不可以执行,所以执行循环体的次数是大于等于0次。

Demo7: break,continue语句

//break;表示跳出当前循环  /**  * 当i=5时,跳出循环  */  for(var i = 0;i<10;i++){  if(i==5){  break;//结束当前for循环,也就是说循环i只加到5就被结束掉了  }  console.log(i);  }  /**  *当i=5时,跳出本次循环  */  for(var i=0;i<10;i++){  if(i==5){  continue;//结束本次循环,继续下次循环  }  console.log(i);  }

总结:continue和break都是用来跳出循环的,只是跳出的位置不同,break直接把循环结束掉了,而continue只是结束掉了一次循环,后面的循环还要继续,有时候去判断数组里面是否有某个值的时候,需要去把数组元素循环查询出来做对比,如果对比上了就不用继续查询后面的元素了,这种情况需要用到break,当要过滤掉某次循环掉话,可以用条件语句加上continue实现.