11-JavaScript基础-while循环-dowhile循环-break-continue

循环基本概念

  • 循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段, 直到条件不成立为止。

    • 给定的条件称为循环条件,反复执行的程序段称为循环体
    • 循环结构简单来说就是:一次又一次的执行相同的代码块
  • JavaScript中的循坏

    • while语句;
    • do-while语句;
    • for语句;

while循环基本概念

  • 格式:
while ( 条件表达式 ) {
     语句1;
     语句2;
     ....
 }

  • while语句执行流程:

    • 判断条件表达式是否为真, 如果为真执行后面大括号中的内容

    • 执行完毕再次判断条件表达式是否还为真,如果为真执行后面大括号中的内容

    • 重复上述过程,直到条件不成立就结束while循环

      var num = 0;
      while (num < 10){
        alert(num); // 弹出0-9
        num++;
      }
      
      
  • 构成循环结构的几个条件

    • 循环控制条件(条件表达式)
      • 循环退出的主要依据,来控制循环到底什么时候退出
    • 循环体(while后面的大括号{})
      • 循环的过程中重复执行的代码段
    • 循环结束语句(递增,递减,break等)
      • 能够让循环条件为假的依据,否则退出循环
  • while循环特点:

    • 如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行

      var num = 10;
      while (num < 10){
          alert(num); // 什么都不弹
          num++;
      }
      
      

while循坏注意点

  • 死循环
    • 条件表达式永远为真, 循坏永远无法结束,我们称之为死循环
    while (true){
        alert("nj666");
    }

  • 任何值都有真假性
    • 对于非Boolean类型的值, 会先转换为Boolean类型再判断
    while (1){ // 先把1转换为Boolean, 然后再判断真假
        alert("nj666");
    }

  • while 后如果只有一条语句它可以省略大括号
    • 如果省略大括号, while只会管制紧跟其后的那条语句
while (0)
   alert("会执行我么?"); // 不会执行
alert("nj 666");

  • 分号问题
    • 分号(;)也是一条语句, 代表空语句
  while (0);
  {
      alert("123"); // 会被执行, 因为while管制的是分号(;)
  }

  • 最简单的死循环
    • 企业开发中慎用死循环, 会导致程序阻塞
  while (1);


while循坏练习

  • 提示用户输入一个正整数n, 计算1 + 2 + 3 + ...n的和
    • 企业开发从易到难, 先实现1加到5, 再实现1加到n
分析: 每次都是用上一次的和 加上一个递增的数
注意看, 每次加号之后的数是递增的2、3、4、5
            1 + 2 + 3 + 4 + 5 = 15
    ( 0 + 1)1 + 2
         (1 + 2)3 + 3
          1 + 2 + 3) 6 + 4
          (1 + 2 + 3 + 4) 10 + 5

    //    1.定义变量保存上一次的和
    var sum = 0;
    //    2.定义变量保存递增的数
    var number = 1;
    while (number <= 5) {
        console.log("sum = "+ sum +" + number = "+ number);
        sum = sum + number;
        number++;
    }
    console.log("sum = " + sum);

  • 累加思想
    • 通过循环的形式进行累加操作,定义变量记录每次变化后的结果

  • 获取1~100之间 7的倍数的个数并打印,并统计个数
    var count = 1;
    var num = 0;
    while (count <= 100) {

        if (count % 7 == 0) {

            console.log("count = " + count);
            num++;//计数器
        }
        count++;
    }

    console.log("number = "+ num);

  • 计数器思想:
    • 通过循环的形式进行计数操作, 通过变量记录每次变化的值
    • 企业开发中, 当遇到要求统计什么什么 中 有多少个什么的时候,立刻想到计数器思想

break关键字

  • 作用:

    • 跳出Switch语句

      var num = 1;
      switch(num){
          case 1:
              console.log("壹");// 输出壹
              break; // 跳出switch语句, 后面代码不会执行
          case 2:
              console.log("贰"); 
              break;
          default:
              console.log("非法数字");
              break;
      }
      
    • 跳出循环语句

      var num = 0;
      while(true){ 
          console.log(num);
          if(3 == num){
              break; // 当num等于3时跳出循环
          }
          num++
      }
      
      
  • 注意点:

    • break关键字只能用于循环语句和switch语句, 在其它地方没有意义

      break;  // 浏览器会报错
      alert("我会输出么?");
      
      
      if(true){
          break; // 浏览器会报错
          alert("我会输出么?");
      }
      
      
    • 在多层循环中,一个break语句只向外跳一层

      while (1){
          while (2){
              console.log("我是while2"); // 会被输出多次
              break; // 跳出while2,但是不会跳出while1
          }
          console.log("我是while1");
      }
      
      
    • break后面的语句永远不会被执行

      while (1){
          break;
          alert("会弹出来么?"); // 不会弹出
      }
      
      

continue关键字

  • 作用:

    • 跳过当前循环体中剩余的语句而继续下一次
      var num = 0;
      while (num < 10){
          num++;
          if(num % 2 == 0){
              continue;
          }
          console.log(num); // 1, 3, 5, 7, 9
      }
    
    
  • 注意点:

    • 只能用于循环结构, 在其它地方没有意义

    • continue后面的语句永远不会被执行

      while (1){
          continue;
          alert("会弹出来么?"); // 不会弹出
      }
      
      

dowhile循环基本概念

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

  • do-while语句执行流程:

    • 首先会执行一次循环体中的语句
    • 接着判断while中的条件表达式是否为真,如果为真再次执行循环体中的语句
    • 重复上述过程,直到条件不成立就结束while循环
      var num = 20;
      do{
          console.log(num); // 输出一次10
      }while (num < 10);
    
    
  • while循环特点:

    • 不管while中的条件是否成立,循环体中的语句至少会被执行一遍
  • 应用场景

    • 口令校验
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • --- 学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: ...
    YFBigHeart阅读 1,052评论 0 2
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,149评论 0 13
  • 循环基本概念 循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段, 直到条件不成立为止...
    极客江南阅读 2,188评论 7 23
  • 第一章1,什么叫程序:程序就是计算机按照人类完成事物的步骤和逻辑,通过计算机命令来逐步执行最终实现目标的一种机器语...
    悟名先生阅读 952评论 0 4
  • 当“信任”遇上“经济”,会变成什么? 是乐视的“造车专家”贾老板?还是阿里巴巴的“我不爱钱”马老板? 信任成本,简...
    币圈快递员阅读 437评论 0 0