JavaScript流程控制语句详解:条件判断与循环结构实战

追风的人
追风的人
发布时间:2026-10-14| 2人浏览过
原创

JavaScript流程控制决定了代码的执行顺序。本文系统梳理条件判断(if/switch)与循环结构(for/while/do...while),并配合break和continue关键字,通过实际案例展示如何精确控制程序逻辑。

条件判断语句

条件语句用于根据特定条件的真假来执行不同的代码块。JavaScript主要提供if语句及其变体来实现逻辑分支。

第1步:基础单分支判断(if语句)

目的:在单一条件成立时执行指定操作。
语法入口:直接使用 if 关键字包裹布尔表达式。

if (condition) {
  // 条件为 true 时执行的代码
}

参数说明:
- condition:被评估的条件表达式。如果结果为真(truthy),则执行花括号内的代码;否则跳过。

第2步:双分支选择(if...else语句)

目的:当条件成立时执行一组代码,不成立时执行另一组代码。
动作示例:

var skill = "HTML";
if (skill == "HTML") {
  document.write("面试成功!");
} else {
  document.write("很遗憾,不符合要求。");
}

完成状态:程序会确保进入且仅进入其中一个分支,保证逻辑的互斥性。

第3步:多重条件判断(if...else if...else)

目的:处理多个互斥的条件场景,按顺序匹配第一个成立的分支。
重要参数:需注意条件检查的顺序,通常将最严格或优先级最高的条件放在前面。

var age = 99;
if (age <= 44) {
  document.write("青年");
} else if (age <= 59) {
  document.write("中年人");
} else if (age <= 89) {
  document.write("老年人");
} else {
  document.write("长寿老人");
}

排错提示:若最后一个 else if 条件无法覆盖所有剩余情况,最后的 else 将作为默认兜底方案执行。

第4步:多值精确匹配(switch语句)

目的:当一个变量需要与多个固定值进行比对,且每个值对应不同执行逻辑时使用,代码结构更清晰。
入口:使用 switch(expression)。

var day = 3;
switch (day) {
  case 1:
  case 2:
    document.write("学习理论");
    break;
  case 3:
  case 4:
    document.write("企业实践");
    break;
  default:
    document.write("休息日");
}

关键细节:
1. case 后必须接 break 以防止“穿透”(即继续执行下一个 case 的代码)。
2. 多个 case 可以共用一段执行代码(如周一周二合并)。

循环结构语句

循环用于重复执行一段代码块,直到满足停止条件。

第5步:计数器循环(for语句)

目的:已知循环次数或迭代范围时使用,结构紧凑。
语法结构:for(初始化变量; 循环条件; 循环后更新)

// 取出盒子里的6个球
for (var i = 1; i <= 6; i++) {
  document.write("取出第" + i + "个球<br>");
}

完成状态:循环变量在每次迭代结束时自动更新,直至不满足条件退出。

第6步:前置条件循环(while语句)

目的:不确定具体循环次数,仅依赖某个条件是否持续成立。
注意:必须在循环体内手动更新条件变量,否则可能导致死循环。

var count = 0;
while (count < 6) {
  document.write("第" + (count + 1) + "次取出球<br>");
  count++; // 必须更新条件,防止死循环
}

第7步:后置条件循环(do...while语句)

目的:确保循环体至少执行一次,然后再检查条件。
差异点:while 是先判断后执行,do...while 是先执行后判断。

var n = 1;
do {
  document.write("输出数字:" + n + "<br>");
  n++;
} while (n <= 5);

循环控制与实战应用

在处理复杂数据或列表时,常需中断或跳过特定的迭代过程。

第8步:终止循环(break语句)

目的:无条件跳出当前所在的最内层循环,后续循环不再执行。
场景:搜索到目标元素或发现严重错误时立即退出。

var scores = [70, 80, 66, 50];
for (var i = 0; i < scores.length; i++) {
  if (scores[i] < 60) {
    document.write("发现不及格成绩: " + scores[i] + ",终止检查<br>");
    break; // 循环直接结束
  }
}

第9步:跳过本次迭代(continue语句)

目的:跳过本次循环剩余的代码,直接进入下一次循环的判断或迭代。
场景:过滤掉不符合条件的数据,但继续处理其他数据。

var data = ['小A','女', '小B','男'];
// 略过非女性记录,只打印女性姓名
for(var i=0; i

综合实例:多维数组筛选

以下示例展示了如何将条件判断与循环结合,从结构化数组中筛选出特定数据(大一女生)。

var infos = [
  ['小A','女',21,'大一'],
  ['小B','男',23,'大三'],
  ['小C','男',24,'大四']
  // ... 更多数据
];

// 第一层循环筛选年级
var freshmen = [];
for(var i=0; i<infos.length; i++){ 
  if(infos[i][3] == "大一") {
    freshmen.push(infos[i]);
  } 
}

// 第二层循环筛选性别
for(var j=0; j<freshmen.length; j++){ 
  if(freshmen[j][1] == '女'){
    document.write("入选名单: " + freshmen[j][0] + "<br>");
  }
}

以上就是JavaScript流程控制语句与循环结构的详细内容,更多关于JavaScript基础教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。