js-day03

171 阅读4分钟

接上day02

流程控制三大结构

循环结构

循环概念:重复做某件事情,就是循环。

程序中的循环是非常重要的一个环节,可以帮助咱们节省大量的时间,避免写一些重复的代码

while循环结构
    var i = 0 
              while(条件){
                //业务代码
                i++
              }
  • while是系统关键字
  • var i = 0 表示的是变量初始化,就是循环从哪里开始
  • while后面的括号里面放的是条件,循环的终止条件。
  • 只有满足条件的时候业务代码才会输出
  • ++ 表示变量自增,变量更新
    执行顺序自己理解一下下👀
死循环(应该避免)

注意

  • 讲解死循环的目的是为了让大家避免写死循环程序,而不是让你去写
  • 死循环会让程序一直执行,导致内存都占满,电脑会出现卡死的现象
// 最简单的死循环
while(true){
      console.log('要执行了!你准备好了吗?')
 }

var i = 1
while(i>0){
     console.log('要执行了!你准备好了吗?')
      i++
 }

var i = 1
while(i<=5){
   console.log('要执行了!你准备好了吗?')
}
自己练一下

题目有

  • 输出1000次,一定要完成作业?思考如何让其他倒叙排列?
  • 输出1-100之间的偶数?并求出偶数的和?
  • 输出一个3行5列的表格?
  • 求1-10之间的奇数?
  • 求5的阶乘?
  • 打印100以内7的倍数?
  • 输出1000-2000之间的所有闰年?
  • 输出456-789的所有可以被2,3,4整除的数值?
do while循环结构0

‘先斩后奏’类型的循环结构,第一次执行循环的时候无论条件是否满足都会先执行一次

do while是从while循环结构上面衍生出来的

语法

     do{

       }while()

do也是系统关键字,表示要进入循环做什么

while后面的括号里面放的是条件

循环执行顺序

变量初始化,只执行一次

先进入循环体,执行业务代码,再执行变量更新,再去执行判断条件。第二次,重复第一次的过程

var i = 1
     do{
         console.log(i)
         i++
     }while(i<=5)
while和do while的区别:

while是先判断条件,后执行语句,do while是先执行语句,后判断条件 先斩后奏,先执行一次

for循环

for循环和while循环比较的话,它的结构上更为清晰。是把变量初始化、判断条件、变量更新是放在一起的

语法

    for(var i=1; i<=5; i++){
                 //业务代码
             }

for也是系统关键字

for循环的执行顺序和while循环执行顺序是一样的

例子

// 求1-100之间的偶数的和?
       var sum = 0
       for(var i=1; i<=100; i++){
           // 1%2==0 不满足条件,执行变量更新
           // 2%2==0 满足条件的,进入判断体里面
           // 3%2==0 不满足条件,执行变量更新
           // 4%2==0 满足条件的,进入判断体里面
           if(i%2==0){
               // sum = 0 + 2 = 2
               // sum = 2 + 4 = 6
               // ...
               sum += i
           }
       }
       console.log(sum)

break和continue

  • break 终止整个循环的执行
  • continue 终止本次循环的执行,下次循环会继续执行 例子:
 // 求偶数的和
      var sum = 0
      for(var i=1; i<=100; i++){
          if(i%2!=0){
              continue
          }
          sum += i
      }
      console.log(sum)
猜数字游戏

用户可以猜5次, 若用户猜的小于50,提示:猜小了;否则提示猜大了;

猜中了,提示:中奖了(不能继续猜谜)

  • for循环适用于循环次数确定的情况下使用
  • while循环适用于循环次数不确定的情况下使用

for

for(var i=1; i<=5; i++){
           var num = prompt('请输入数字?')
           if(num>50){
               alert('猜大了')
           }else if(num==50){
               alert('猜中了')
               break
           }else{
               alert('猜小了')
           }
       }

while

while(true){
           var num = prompt('请输入数字?')
               if(num>50){
               alert('猜大了')
           }else if(num==50){
               alert('猜中了')
               break
           }else{
               alert('猜小了')
           }
       }
打印金字塔(牛)
                🐂
              🐂🐂
             🐂🐂🐂
            🐂🐂🐂🐂
           🐂🐂🐂🐂🐂

打印出上面效果

代码:

for(var i=1; i<=5; i++){
          // 根据空格的规律输出对应的空格数
          for(var k=1; k<=5-i; k++){
              document.write('&nbsp;')
          }
          for(var j=1; j<=i; j++){
              document.write('🐂')
          }
          document.write('<br/>')
      }
打印九九乘法表

js:

var str2 = ''
        for(var i=1; i<=9; i++){
            for(var j=1; j<=i; j++){
                str2 += '<span>'+j+'&times;'+i+'='+(j*i)+'</span>'
            }
            str2 += '<br/>'
        }
        document.write(str2)

css:

span{
            display: inline-block;
            border: 1px solid orange;
            width: 100px;
            height: 35px;
            margin: 10px;
            text-align: center;
            line-height: 30px;
        }