while循环容易死循环
while(true) { // 循环体
console.log(1)
}
var i = 0
while(i < 5) {
i++
console.log(i)
}
-
- 一个结束条件的时候(适用于偏移量的时候用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)
}