💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# while `for`循环在已知循环的初始和结束条件时非常有用。而上述忽略了条件的`for`循环容易让人看不清循环的逻辑,此时用`while`循环更佳。 ![](https://box.kancloud.cn/9b0fd5c7361e6c0f13d62b70d33ff49a_439x412.png) `while`循环只有一个判断条件,条件满足,就不断循环,条件不满足时则退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现: ~~~ let x = 0; let n = 99; while (n > 0) { x = x + n; n = n - 2; } x; // 2500 ~~~ 在循环内部变量`n`不断自减,直到变为`-1`时,不再满足`while`条件,循环退出。 # do ... while `do { ... } while()`循环,它和`while`循环的唯一区别在于,不是在每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件: ![](https://box.kancloud.cn/c5c6430551259b4e0f054404fb61568b_307x427.png) ~~~ let n = 0; do { n = n + 1; } while (n < 100); n; // 100 ~~~ > 用`do { ... } while()`循环要小心,循环体会至少执行1次,而`for`和`while`循环则可能一次都不执行。 ## 练习 请利用循环遍历数组中的每个名字,并显示`Hello, xxx!`: ~~~ 'use strict'; var arr = ['Bart', 'Lisa', 'Adam']; ~~~ 请尝试`for`循环和`while`循环,并以正序、倒序两种方式遍历。