涉及循环有:map、for、for in、for of、forEach、while、do while、some、every
其中:
最常见的是:for,while,do while
可以使用break,continue语句跳出循环的是:for,for of,for in
可以使用return中止的是:for,for of
for 循环
for:先检测退出条件,再执行循环体
for (初始化变量;条件表达式;操作表达式)
{ // 循环体:每次循环执行的代码}
它的循环示意图

(
eg:1~100累加
for (int i = 1; i <= 100; i++) {
total = total + i,
}
while 循环
while 循环是 “先判断,后执行”,只要条件成立就会重复执行循环体
适用于不确定循环次数时
注意事项:避免无限循环
i = 0
while i < 3:
{
循环体
i += 1 }
它的流程示意图

eg:1~100累加
while (i <= 100) {
total += i;
i++;
}
do while 循环
do while 循环是一种后测试循环结构,即
先执行一次循环体中的代码,然后检查循环条件是否满足
如果条件满足,则继续执行循环体;否则退出循环(这也是它与while循环最主要的区别)
注意
- 确保循环体内有改变条件的语句,否则可能死循环
- 条件表达式需明确返回布尔值 (true/false)
do {
// 循环体代码
} while (条件表达式);
流程示意图

for in 循环
优缺点
- 缺点:潜在问题:原型链污染
- 优点:
- 无需手动管理索引,循环会自动遍历集合中的每个元素。
- 代码更简洁,避免因索引错误导致的异常。
- 适用于多种数据结构(列表、字符串、字典等)。
注意事项
- 字典遍历:默认遍历的是键(key),需显式访问值。
- 不可迭代对象:若尝试遍历整数等非可迭代对象会引发TypeError。
- 修改集合:在循环中直接增删集合元素可能导致意外行为)。
for 变量 in 可迭代对象:
# 循环体(针对每个元素的操作)
for of 循环
for of 是可迭代对象(Array, Map, Set等)的遍历
for…of 循环是 JS中用于遍历可迭代对象(如数组、字符串、Map、Set 等)的语法结构。它直接遍历对象的元素值,而非索引或键。
注意事项
不可用于普通对象
普通对象默认不可迭代,需先转换为 Map 或使用 Object.keys():
for (variable of iterable) {
// 循环体
}
forEach 循环
forEach 是 JavaScript 中数组对象自带的一个方法,用于遍历数组中的每个元素。它的核心思想是:对数组中的每一项,执行一次你提供的函数(通常称为回调函数)。
特点
array.forEach(function(currentValue, index, array) {
// 在这里对 currentValue 进行操作
});
some 循环
- 功能: 检查数组中的至少一个元素是否通过了由提供的函数实现的测试。
- 逻辑: 相当于逻辑或 ||。只要数组中存在至少一个元素使测试函数返回 true,some() 方法就返回 true。如果所有元素都使测试函数返回 false,则返回 false。当遇到第一个使测试函数返回 true 的元素时,立即停止遍历并返回 true。
array.some(callback(currentValue[, index[, array]])[, thisArg])
every 循环
- 功能: 检查数组中的所有元素是否都通过了由提供的函数实现的测试。
- 逻辑: 相当于逻辑与 &&。只有当数组中每一个元素都使测试函数返回 true 时,every() 方法才返回 true。如果遇到任何一个元素使测试函数返回 false,则立即停止遍历并返回 false。
array.every(callback(currentValue[, index[, array]])[, thisArg])





