循环结构

  • 一、while循环语句
  • 二、do…while语句
  • 三、for语句
  • 四、案例


一、while循环语句

while语句可以在条件表达式为true的前提下,循环执行指定的一段代码,直到条件表达式为false时结束循环。

语法结构:
while (条件表达式) {
会被重复执行的代码
… }

比如:我们走路道中的一条石板
现在走了X个石板,即为定义初始变量n
前面还有石板吗? 条件判断n <总数
继续走后面的路 后续代码
现在我们来看这段代码

<script>
       var n=0;   //定义初始变量n
        while(n<3){    //判断条件n<3
        console.log('走一个石板');   //一段重复的代码
        n++;  //改变初始值
    }
     console.log('继续走后面的路');     //后续代码
    </script>

打印结果如下:

Java 前端js 循环map javascript循环结构_javascript

总结:
1、while 会重复 的执行一段代码,直到重复结束才会继续执行后续的代码
2、千万要书写改变初始值的代码,不然会出现死循环 3、在循环内,初始值条件判断改变初始值都能控制循环的次数
4、在循环内,循环控制变量是一组有规律的数字

二、do…while语句

do…while语句会无条件地执行一次循环体中的代码,然后再判断条件,根据条件决定是否循环执行。

语法结构:
do {
//会被重复执行的代码

} while(条件表达式)

下面练习一个案例:在浏览器回答问题
打开浏览器时提示一个问题让用户回答,只有答对,才可以继续浏览网页,如果错误,那么再次弹出同样的问题
逻辑:
1、打开浏览器直接弹出问题
2、开始进行判断,如果答案一致,继续执行后续代码,如果答案不一致,重复弹出。

<script>
        do {
            var result = prompt('我爱学习?')
             } while(result !== 'yes')
          alert('我爱学习')  
 </script>

打印结果如下:当输入yes 弹出我爱学习,如果输入别的则什么也不弹出

Java 前端js 循环map javascript循环结构_条件判断_02


Java 前端js 循环map javascript循环结构_javascript_03

三、for语句

在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句。

语法结构:
for(定义初始变量;条件判断;改变初始值){
重复执行的代码

}
案例:在控制台输出1~100 之间所有3的倍数
分析:
1、拿到1~100之间的所有数字
2、对每个数字进行判断,是3的倍数输出,不是就什么也不做
循环:

<script>
    //利用for 循环拿到1~100的数字
     for(var i=0;i<100;i++){
      //判断是3的倍数
      if(i % 3 ===0){
        console.log(i);
      }      
     }
    </script>

同样的打印结果:

Java 前端js 循环map javascript循环结构_Java 前端js 循环map_04

四、案例

1、页面打印正方形

第一步:在页面输出一个*:
第二步:在页面输出一行*:
第三步:在页面输出九行* :

<script>
        //把输出一行的代码重复执行9次
        for(var j=1;j<=9;j++){
            for(var i = 1;i <= 9; i++){
            document.write('* ');
        }
        //每输出完毕一行*以后需要一个换行
        document.write('</br>')   
        }
    </script>

最后打印结果:

Java 前端js 循环map javascript循环结构_条件判断_05


2、寻找最大公约数

寻找24和12的最大公约数

第一步:<=相对小的那个数字
第二步:>=1
第三步:能同时被两个数字整除

<script>
		//准备两个变量,保存两个数字
        var max =24;
        var min =12;
        //从相对小的数字向1 进行循环
        for(var i=min;i>=1;i--){
            //判断能被max和min整除
            if(max % i ===0 && min % i === 0){
                console.log(i);
            }
            break;  //通过break关键字终止循环
        }
    </script>

大家一起练练吧!!