11-JavaScript基础-while循环-dowhile循
2018-10-19 本文已影响0人
雪妮爸爸
循环基本概念
-
循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段, 直到条件不成立为止。
- 给定的条件称为循环条件,反复执行的程序段称为循环体
- 循环结构简单来说就是:一次又一次的执行相同的代码块
-
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中的条件是否成立,循环体中的语句至少会被执行一遍
-
应用场景
- 口令校验