Javascript中的while循环 与 for循环

1,557 阅读1分钟

Javascript循环语句

1.while循环

while循环语句,在条件表达式为真的情况下 ,循环里面的代码,直到条件为假的时候中断循环.

1.语法书写

while (条件表达式(为真时执行)) {

​ 执行表达式

}

注意点:while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出


    <script>
        let num = prompt('请输入你想要的数字') 
        let i = 1 ;
        while (i <= num ) {
            //br 换行
            document.write(`这是第${i}次循环了 <br>` ) ;
            i++
        }
        
    </script>

2.用while循环语句案例


    <script>

        //输出1-100的值
        let i = 1 ;
        while ( i <= 100) {
            document.write(`${i}<br>`)
            i++
        }
        //1 直到100的 和
        let i1 = 1 ;
        let sum = 0; 
        while ( i1 <= 100) {
            sum = sum + i1
            i1++
        }
        document.write(`${sum} <br>`);
        console.log(sum);
       


        //1-100偶数和
        let i2 = 1;
        let even = 0 ;
        while( i2 <= 100  ) {

            if ( i2 % 2 == 0 ) {
                even = even + i2
                
            }  
            i2++
        }
        console.log(even);
        document.write(`${even}`)


    </script>

3.1-100偶数和其他方式书写

 <script>

        //1-100偶数的和
        //短路运算的做法
        let i1 = 1 ;
        let sum1 = 0;
        while( i1 <= 100) {

            //短路运算
            (i1 % 2 === 0) && (sum1 += i1)
            i1++
        }

        console.log(sum1);

        //1-100偶数和
        //三元运算的的的做法法
        let i2 = 1 ;
        let sum2 = 0;

        while( i2 <= 100) {
            //三元表达式
         i2 % 2 === 0 ? sum2 += i2++ : i2++

        }
        console.log(sum2);


    </script>

4.while循环制作弹窗的案例


    <script>

    //1.变量初始值是用户的输入值
    let  message  =  prompt('你爱我吗')    
    
    //根据用户输入值判断条件是否满足 然后执行语句  这里用!== 需要注意的是true执行 false不执行
    //当用户输入'爱'则退出循环
    while (message !== '爱' ) {

      message = prompt('你还爱我吗')
      
   }
    </script>

2.for循环

for循环语句也是能将执行表达式循环执行

1.语法书写

for (声明记录循环次数的变量;循环的条件;变化值) {

​ 循环执行表达式

}

注意的是:for循环中常常会和分支语句if 一起搭配使用


    <script>
       //求打印 1-  100
       //for 循环的顺序是   先执行let i = 1
       // 2执行 i <= 100 条件表达式
       // 3.打印console.log(i)
       //4.在执行i++
       //重复 2 3 4 直到条件不满足退出循环
       for (let i = 1; i < 100; i++) {
            console.log(`这是第${i}个数字`);   
       }

    </script>

2.用for循环语句的案例

<script>
        //1.1-100偶数和
        let  sum = 0 ;
        for (let i = 1 ;  i <= 100 ; i++ )  {
            if ( i % 2 == 0 ) {
                sum += i
            } 
        }
        console.log(sum);


        //2.打印五百个⭐
        let star = '';

        for (let i = 1 ; i <= 500 ; i++ ) {
            star += '⭐'
        }
        console.log(star);
    </script>

3.退出循环

1.continue:结束本次循环,继续下次循环(跳过本次循环)

2.break:跳出所在的循环(意思是不再执行循环)

   <script>
   let num = 0;

      for ( let i = 1; i <= 100 ; i++ ) {

          console.log(num += i);

          //当i变化量为5时  for循环将会结束
          if (i === 5) {
            break
          }
      }

      console.log(num); // 15
    </script>

3.for循环嵌套for

直白的意思是,当外面for执行一次时,里面for要全执行完,然后再到外面的for循环下一次,再到里面for循环,直到外面for条件表达式为假时,不再循环,或者有break语句退出循环

1.语法书写

for (声明记录循环次数的变量;循环的条件;变化值) {

​ 执行表达式

​ for (声明记录循环次数的变量1;循环的条件1;变化值1) {

​ 执行表达式1

​ }

}


    <script>
        //每天天五个单词,读3天
        for (let i = 1 ; i <= 3 ; i++ ) {
            document.write(`这是第${i}天<br>`)

            for (let i2 = 1; i2 <= 5; i2++) {
            document.write(`这是第${i2}个单词<br>`)
    
            }
        }
        /* 
        
            这是第1天
            这是第1个单词
            这是第2个单词
            这是第3个单词
            这是第4个单词
            这是第5个单词
            这是第2天
            这是第1个单词
            这是第2个单词
            这是第3个单词
            这是第4个单词
            这是第5个单词
            这是第3天
            这是第1个单词
            这是第2个单词
            这是第3个单词
            这是第4个单词
            这是第5个单词
    
        */
        
    </script>


2.双重for的案例---九九乘法

   <script>

        //声明一个变量代表乘法结果
        let sum = 0 ;
        for (let i = 1 ; i <= 9; i++) {


            for (let i2 = 1; i2 <= i ; i2++   ) {

                sum = i * i2
                //&nbsp; 让for循环体有间隙
                document.write(`${i2} × ${i} = ${sum}  &nbsp;  &nbsp;`)
            }
            //让文本换行
            document.write(`<br>`)
            
        } 

    </script>

1648477163405.png