for循环和while循环?

while循环容易死循环

  • 输入这段代码,电脑即将卡死,不卡死算我输
while(true) { // 循环体
   console.log(1)
}   
复制代码
    1. 不知道执行多少次的时候
var i = 0
     while(i < 5) {
       i++
       console.log(i)
     }
复制代码

    1. 一个结束条件的时候(适用于偏移量的时候用while循环,因为不知道要找多少级才可以找到父节点,一直找不到的话最后到body截止)
 一个结束条件时候  i > 6
     var i = 7
     while (i <= 6) {
        i++
        console.log(i)
     }
复制代码

  var i = 0
   while (typeof i === 'number') {
       i++
       if (i === 3) {
         i = i + ''
       }
       console.log(i)
     }
复制代码

var i = 0
while(i < 5) {
     i++
     console.log(1)
     }
复制代码

var i = 0
    while(i++ < 5) {
      console.log(1)
      break
    }
复制代码

for循环

 for(起始值(i = 0); 执行循环条件(i < 5); 累加步长(i++)) {
       循环体(每次循环时要执行的代码)
     }
复制代码
for (var i = 0; i < 5; i++) {// 循环体(每次循环时要执行的代码)
      console.log(1)
    }
    
 每次循环完后都要在i++一次 包括最后一次的时候也要i++
     console.log(i) // 循环完后 5    
复制代码

  循环 (周而复始的运动) 一遍又一遍执行同样的代码
     console.log(1)
     console.log(1)
     console.log(1)
     console.log(1)
     console.log(1)
复制代码
for(起始值(i = 0);     执行循环条件(i < 5); 累加步长(i++)) {
      循环体(每次循环时要执行的代码)
     }
复制代码
 for (var n = 5; n < 5; n++) {
       console.log(n) 
     }
     console.log(n) // 5
复制代码
// 每轮
     1.先看循环条件成立不
     2.成立执行循环体里代码
     3.累加
复制代码

     写代码需要注意的 死循环(无限次循环 页面就会卡死)
     //例1
     for (var i = 0; i < 5;) {
       console.log(i)
     }
     
     //例2
     for (var i = 0; i < 5; i--) {
       console.log(i)
     }
复制代码

 // 第一次i = 0  
     判断i < 5 true 
     执行循环体里的代码 log(1)
     每次循环完后 i++ (i= i + 1) = 1

     第二次  i = 1
     判断i < 5 true 
     执行循环体里的代码 log(1)
     每次循环完后 i++ (i = i + 1) = 2

     第三次 i = 2
     判断i < 5 true 
     执行循环体里的代码 log(1)
     每次循环完后 i++ (i = i + 1) = 3

     ...
     i < 5 // false
复制代码
  知道循环多少次 就用for循环
     for (var i = 0; i < 10; i++) {
       // continue break
     }
复制代码
 // 0 - 9
      for (var i = 0; i < 10; i++) {
          console.log(i)
      if (i === 2) { // 整个循环就结束了
         break // 在for循环中如果遇到break 就结束整个循环
       }
     }
复制代码

 for (var i = 0; i < 10; i++) {
       console.log(i) // 0
       break // 后面的代码都不执行了(i++也不执行了)
       console.log(123)
    }
复制代码

for (var i = 0; i < 10; i++) {
       console.log(i) // 0
      break // 后面的代码都不执行了(i++也不执行了)
       console.log(123)
    }
     console.log(i)
     i+=2  i = i + 2
     i++  i+=1
     for (var i = 0; i < 10; i+=2) {
       // 第一次循环 i = 0
       // 第二次循环 i = 2
       // 第三次循环 i = 4 遇到了break
       if (i === 4) {
         break
       }
       console.log(i) // 0 2
     }
     console.log('外面', i) // 4
复制代码
for (var j = 1; j < 12; j+=3) {
      if (j < 7) { // j=1, j=5
        j++ // j=2, j=6
        console.log('循环', j) // 2 6
        continue // 直接进入下一轮循环
      } else {
        j+=2 // j = 11
        break // 直接结束循环
      }
      console.log('循环中', j)
    }
    console.log('循环结束后的', j) // 11
复制代码

var j = 1
     for(; j < 10;j++) { // +1
       j++ // +1
       console.log(j)
     }
复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值