while中continue break return各自的作用

虽然,平时工作中while用的并不多,多数情况下大家都习惯使用for循环,但while的用法还是要搞懂,下面以简单用例来讲解while以及while结合continue break return一起使用的用法

while循环

while 循环会一直循环代码块,只要指定的条件为true

let i = 0
while (i < 10) {
    console.log(i)
    i++
}
// 0 1 2 3 4 5 6 7 8 9

如果上面忘记写i++

let i = 0
while (i < 10) {
    console.log(i)
}
// 0 0 0 0 ...循环永不会结束。这会导致浏览器崩溃。

在这里插入图片描述

Do/While 循环

do/while 循环是 while 循环的变体。在检查条件是否为真之前,这种循环会执行一次代码块,然后只要条件为真就会重复循环。

let i = 0
do {
	console.log(i)
    i++
}
while (i < 10)
// 0 1 2 3 4 5 6 7 8 9
let i = 12
do {
	console.log(i)
    i++
}
while (i < 10)
// 12

虽然12不满足i<10的条件,但默认还是会先执行一次do代码块。

continue break return在while中的作用

  • continue 用于跳过循环中的一个迭代。
  • break 语句用于跳出循环。
  • return语句会终止函数的执行并返回函数的值。
(function () {
  let i = 0
  while (true) {
    if (i < 10) {
      i++
      console.log(i)
      continue
    }
    if (i >= 10){
      return
    }
  }
  console.log('while done')
})()
// 0 1 2 3 4 5 6 7 8 9 10

结果console.log('while done')永远无法被打印,原因是当i<10时执行i++后直接continue本次循环继续下一次循环;当i===10时直接return跳出当前函数体,所以console.log('while done')永远无法被执行。
当我们把上面的return改为break:

(function () {
  let i = 0
  while (true) {
    if (i < 10) {
      i++
      console.log(i)
    }
    if (i >= 10){
      break
    }
  }
  console.log('while done')
})()
// 0 1 2 3 4 5 6 7 8 9 10 while done

return改为break后,当i===10时跳出循环体,继续执行后面的语句,此时console.log('while done')可以被执行
当此时我们在i<10的条件里再加一个if(i===3) continue语句:

(function () {
  let i = 0
  while (true) {
    if (i < 10) {
      i++
      if (i===3) {
        continue
      }
      console.log(i)
    }
    if (i >= 10){
      break
    }
  }
  console.log('while done')
})()
// 0 1 2 4 5 6 7 8 9 10 while done

此时3未被打印,原因是当i===3时执行continue语句跳出当前循环即无法执行if(i===3)后面的语句,继续执行下一次循环继续打印4 5 ...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值