7 循环语句
在js中有三种循环语句. 首先是while循环. 它的逻辑和咱们python中的while几乎一模一样, 就是符号上有些许的区别.
|
// 语法 |
|
while(条件){ |
|
循环体 -> 里面可以有break和continue等关键字 |
|
} |
|
/* |
|
判断`条件`是否为真, 如果`真`, 则执行`循环体`.执行完`循环体`, 会再次判断`条件`.... |
|
并且在循环中也可以使用`break`和`continue`等关键字来控制循环的走向. |
|
*/ |
|
|
|
表达式1 |
|
while 表达式2: |
|
循环体 |
|
表达式3 |
|
// 语法 |
|
do{ |
|
循环体 |
|
} while(条件); |
|
|
|
/* |
|
解读: |
|
先执行`循环体`, 然后判断`条件`是否成立, 如果成立.在来一次. |
|
注意, 由于do..while是先执行的`循环体`. 所以, 不论条件如何, 至少执行一次`循环体` |
|
*/ |
|
// 语法: for的第一种语法 |
|
for(表达式1; 表达式2; 表达式3){ |
|
循环体 |
|
} |
|
/* |
|
解读: |
|
for循环和我们python中的循环是完全不一样的. 解读起来会有点儿麻烦. |
|
首先, 在执行的时候, 先执行`表达式1`, |
|
然后, 判断`表达式2`得到的结果是否真, 如果`真`, 则执行循环体, |
|
再然后, 执行`表达式3`, |
|
再然后, 判断`表达式2`执行的结果是否为`真`, 如果`真`, 则执行`循环体` |
|
再然后, 执行`表达式3` |
|
..... |
|
直到, `表达式2`得到的结果是`假`, 则跳出循环 |
|
*/ |
|
|
|
// 看起来很绕. 我们用for循环来跑一个1~99 |
|
for(var i = 1; i < 100; i++){ |
|
console.log(i); |
|
} |
|
/* |
|
首先, i = 1, |
|
然后, 判断 i < 100 成立 |
|
打印i |
|
在然后, i++, i变成2 |
|
再然后, 判断 i < 100 还是成立 |
|
打印i |
|
再然后, i++, i变成3 |
|
再然后, 判断 i< 100 还是成立 |
|
打印3.... |
|
.... |
|
当i = 100了. i < 100不成立. 程序结束 |
|
*/ |
|
|
|
// for循环的固定逻辑也就这样了 |
|
for(变量声明; 条件判断; 改变变量){ |
|
循环体 |
|
} |
|
|
// for的第二种用法 |
|
var a = [11,22,33,44,55,66] |
|
for(let i in a){ |
|
console.log(i + "_" + a[i]) |
|
} |
|
// 这种写法非常类似python中的for循环. 但是要注意. 这里的`i`拿到的仅仅是 `数组a`的索引信息. |
|
// 如果需要数据 a[i] |
|
a = 1; |
|
b = 5; |
|
while (a <= b) { |
|
console.log(a); |
|
a++; |
|
}; |
|
|
|
c = 1; |
|
d = 5; |
|
do{ |
|
console.log(c); |
|
c++; |
|
} while (c < d); |
|
|
|
|
|
for (var i=1; i<=9; i++){ |
|
console.log(i); |
|
}; |
|
|
|
var arr = [11, 22, 33, 44, 55, 66] |
|
for (let i in arr) { |
|
console.log(i + "_" + arr[i]) |
|
} |
|