JavaScript 循环语句(Day7)

22 阅读1分钟

循环语句

  • 循环结构即根据某些给出的条件,重复执行同一段代码

  • 循环必须的内容组成

    • 初始化
    • 循环条件
    • 循环体(循环执行的代码)
    • 自身变化(步长)

while循环

  • while 直译为当…时,即当条件满足执行代码,条件不满足则不执行代码

  • 语法:

    while(条件){
    //条件满足执行
     循环体
    }
    
  • 由于条件满足即执行代码,因此注意满足条件的限定,否则将进入无限循环(死循环)

示例:

    var i=0
    while (i<10){
        console.log('当前num为:'+i)
        i++
    }

案例

案例1:1~100求和

    var i = 1
    var sum = 0
    while (i <= 100) {
        sum += i
        i++
    }
    console.log('和为:' + sum)
    //结果:和为:5050

案例2:求一个数字的阶乘

    var num = parseInt(prompt('请输入需要求阶乘的数字:'))
    var sums=1
    while (num>1){
        sums*=num
        num--
    }
    console.log('积为:' + sums)
    //结果:nums=5时:积为:120

do…while循环

  • 与while循环类似

  • do…while循环是先执行循环体,再判断是否满足条件,满足后继续循环,否则结束循环

  • 语法:

    do{
        //循环执行的代码
        循环体
    }while(循环条件)
    

示例:

  • 该代码 初始就不满足执行条件,但是会执行一遍后再结束
    //     do …while 循环
    var n = 10
    do {
        console.log('循环执行了')
        n++
    } while (n < 10)

案例

案例1:1~100求和

    var num=1
    var sum=0
    do {
        sum+=num
        num++
    }while (num<=100)
    console.log('和为:' + sum)
    //结果:和为:5050

案例2:弹出信息框,直到输入信息非空时取消弹出

    do {
        var str = prompt('请输入姓名:')
        console.log(str)
    } while (!str)

for循环

  • 原理与while和都…while相同

  • 语法:

    for(初始化;循环条件;步长){
        循环体
    }
    

示例:依次输出1~10

    for (var i=1;i<=10;i++){
        console.log('i='+i)
    }
    // 结果:i=1,2,3,4,5,6,7,8,9,10

案例

案例1:1~100求和

    var sum=0
    for (var j=1;j<=100;j++){
        sum+=j
    }
    console.log('和为:' + sum)

案例2:1000~2000间的闰年

    var count = 0
    for (var year = 1000; year <= 2000; year += 4) {
        if (year % 400 === 0 || year % 100 !== 0) {
            document.write(year)
            count++
            count % 4 === 0 ? document.write('<br>') : document.write(' ')
        }
    }

循环控制语句

break终止循环

  • 在循环尚未结束时,若满足设置的条件,提前终止循环
    for (var i=0;i<=5;i++){
        if (i===3) break
        console.log(i)
    }
    //结果: 0 1 2

continue终止本次循环

  • 在循环中跳过本次循环进入下一次循环
    for (var i=0;i<=5;i++){
        if (i===3) continue
        console.log(i)
    }
    //结果: 0 1 2 4 5