5.1 循环结构的概念
先来看看生活中的一些场景;
(1)食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完。
(2)快递员送快递:查看送件地址→赶往目的地→电话告知收件人→收件人签字→交快递件,重复以上过程,直到所有需要送的快递都处理完。
(3)作业流程:布置作业→查看作业→编写作业→完成作业→把作业发送到邮箱,重复以上过程,直到作业发送到邮箱。
以上场景都有一个共同的特点:有条件地重复做一件事,每一次做的事情不同但类似。
程序是为了解决实际问题,实际问题中存在着重复动作,那么程序中也应该有相应的描述,这就是循环。
案例:
<script>
/*计算1+2+3+……+10*/
/*方案一*/
var sum1 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
/*方案二*/
var sum2 = 0;
sum2 += 1;
sum2 += 2;
sum2 += 3;
sum2 += 4;
sum2 += 5;
sum2 += 6;
sum2 += 7;
sum2 += 8;
sum2 += 9;
sum2 += 10;
</script>
但是这两种方案的描述方式都不太理想,如果是要加到10000,那你就够呛了,不知道要输到什么时候。
注意观察案例二会发现,它是重复地做一件事(将一个数加到sum2中),每一次做的都不同但类似。
我们希望能找到一种更简便的方法
<script>
/*方案三*/
var sum3 = 0;
var n = 1;
while(n <= 10){
sum3 += n;
n++;
}
alert(sum3);
</script>
方案三表达的含义和方案二一样,但是表达式要好得多,比如加到10000,只需要把条件n<=10改成n<=10000,是不是方便很多。
5.2 while循环
While是表示“当……则……”,也就是当某个条件成立时,则一直重复做。
do{语句}while(条件)先执行后判断