continue语句用于跳过当前循环剩余部分并进入下一次迭代;常用于遍历中忽略null、undefined、''、nan等空值,再对有效数据统计求和。

在 JavaScript 中,continue 语句用于跳过当前循环的剩余部分,直接进入下一次迭代。当你遍历数组或对象做统计(比如求和、计数)时,若遇到空值(如 null、undefined、空字符串 ''、NaN 等),可以用 continue 忽略它们,只对有效数据操作。
识别并跳过常见空数据
空数据没有统一标准,需根据业务定义。常见需跳过的值包括:
-
null或undefined - 空字符串
''(有时也包括只含空白字符的字符串,如' ') -
NaN(注意:NaN !== NaN,要用isNaN()或Number.isNaN()判断) - 0 或
false(仅当业务上它们不算“有效数据”时才跳过)
用 for 循环 + continue 统计有效数值总和
例如:统计一个混合数组中所有合法数字的和:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
const data = [1, null, 2, '', 3, undefined, NaN, 4];
let sum = 0;
for (let i = 0; i
<h3>用 for...of 或 forEach?注意 continue 的限制</h3>
<p><code>continue</code> 只在传统 <code>for</code>、<code>while</code>、<code>do...while</code> 循环中有效。它不能用在 <code>forEach()</code> 回调里(因为不是循环语句,而是函数调用),也不能直接用于 <code>for...of</code> 外层——但 <code>for...of</code> 本身支持 <code>continue</code>:</p>
<pre class="brush:php;toolbar:false;">const data = [1, null, 2, '', 3];
let sum = 0;
for (const item of data) {
if (item == null || item === '' || isNaN(item)) {
continue; // ✅ 合法:for...of 是原生循环语法
}
sum += Number(item);
}
而 forEach() 中写 continue 会报错(SyntaxError: Illegal continue statement),此时应改用 for 循环,或用 filter().reduce() 等函数式写法替代。
更健壮的空值判断建议
实际项目中推荐用更明确的“非空有效数字”判断,避免隐式转换陷阱:
- 用
typeof item === 'number' && !isNaN(item) && isFinite(item)确保是合法数字 - 对字符串先
trim()再判断是否为空:typeof item === 'string' && item.trim() === '' - 综合判断可封装成工具函数,提高复用性和可读性
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










