[JavaScript] 深入理解流程控制结构

文章目录

在编程中, 流程控制 是指控制代码执行顺序的机制。通过流程控制结构,我们可以根据不同的条件执行不同的代码块,实现逻辑判断、循环遍历和跳出循环等功能。常见的流程控制语句有: if-elseswitch-caseforwhile,以及控制语句 breakcontinue。本文将详细讲解这些控制结构的用法,并深入理解 breakcontinue的应用。

1. if-else 语句

if-else语句是最基本的流程控制结构之一,用于基于条件表达式来执行不同的代码块。它通过判断一个或多个条件表达式的真假来决定是否执行某个代码块。

基本语法:
javascript 复制代码
if (condition) {
    // 条件为 true 时执行的代码
} else {
    // 条件为 false 时执行的代码
}
示例:
javascript 复制代码
let age = 20;
if (age >= 18) {
    console.log("成年人");
} else {
    console.log("未成年人");
}
扩展:else if

如果有多个条件需要判断,可以使用else if来处理多个分支条件。

javascript 复制代码
let score = 85;
if (score >= 90) {
    console.log("优秀");
} else if (score >= 75) {
    console.log("良好");
} else if (score >= 60) {
    console.log("及格");
} else {
    console.log("不及格");
}

2. switch-case 语句

switch-case语句用于处理多个可能的条件,通常适用于多个不同值的判断。它与if-else相比更简洁,尤其在有多个值需要判断时。

基本语法:
javascript 复制代码
switch (expression) {
    case value1:
        // expression === value1 时执行的代码
        break;
    case value2:
        // expression === value2 时执行的代码
        break;
    default:
        // 如果没有匹配的 case 执行的代码
}
示例:
javascript 复制代码
let fruit = "apple";
switch (fruit) {
    case "apple":
        console.log("这是一个苹果");
        break;
    case "banana":
        console.log("这是一个香蕉");
        break;
    default:
        console.log("未知的水果");
}
注意事项:
  • switch语句会比较严格 的值(包括数据类型),因此如果需要进行非严格的比较,可以考虑使用if-else
  • break是用来跳出switch语句块的。如果没有break,程序会继续执行下一个case,即使它的值不匹配,这种情况叫做fall-through

3. for 循环

for循环用于重复执行一段代码,直到满足退出条件。它通常用于已知执行次数的场景。

基本语法:
javascript 复制代码
for (initialization; condition; increment) {
    // 循环体
}
  • initialization:初始化部分,通常用于定义和初始化循环变量。
  • condition:条件表达式,判断是否继续执行循环。
  • increment:每次循环结束时,更新循环变量。
示例:
javascript 复制代码
for (let i = 0; i < 5; i++) {
    console.log(i);  // 输出 0 1 2 3 4
}
扩展:for-infor-of
  • for-in:用于遍历对象的键(属性)。
  • for-of:用于遍历数组或其他可迭代对象的元素。
javascript 复制代码
// for-in 示例
const person = { name: "Alice", age: 25 };
for (let key in person) {
    console.log(key + ": " + person[key]);
}

// for-of 示例
let arr = [1, 2, 3];
for (let value of arr) {
    console.log(value);  // 输出 1 2 3
}

4. while 循环

while循环用于在条件为真时反复执行一段代码,适用于循环次数不确定的情况,通常在开始前无法预知循环次数时使用。

基本语法:
javascript 复制代码
while (condition) {
    // 循环体
}
示例:
javascript 复制代码
let count = 0;
while (count < 5) {
    console.log(count);  // 输出 0 1 2 3 4
    count++;
}
注意事项:
  • 如果条件从一开始就是falsewhile循环不会执行任何代码。
  • 使用while时要小心无限循环 ,确保循环条件最终能变为false

5. do-while 循环

do-while循环与while循环类似,区别在于do-while会先执行一次循环体,然后再检查条件。

基本语法:
javascript 复制代码
do {
    // 循环体
} while (condition);
示例:
javascript 复制代码
let count = 0;
do {
    console.log(count);  // 输出 0 1 2 3 4
    count++;
} while (count < 5);

6. break 和 continue 的使用

6.1 break

break语句用于跳出循环switch-case语句块,通常在满足某个条件时使用,跳出当前的循环或代码块。

示例:
javascript 复制代码
for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;  // 当 i 等于 5 时跳出循环
    }
    console.log(i);
}

输出:

plain 复制代码
0
1
2
3
4
6.2 continue

continue语句用于跳过当前循环的剩余部分,直接进入下一次循环迭代。它不会终止整个循环,而是跳过当前循环中的其余代码,继续执行下一次循环。

示例:
javascript 复制代码
for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue;  // 当 i 等于 2 时跳过当前循环
    }
    console.log(i);
}

输出:

plain 复制代码
0
1
3
4

总结

  • if-else:用于条件判断,决定执行哪段代码。
  • switch-case:用于多条件选择,尤其适用于固定值判断。
  • for:用于已知次数的循环,通常用于遍历数组或固定次数的任务。
  • while:用于在未知次数的情况下执行循环,直到条件不再满足。
  • break :用于跳出当前循环或switch语句块。
  • continue:用于跳过当前循环的剩余部分,进入下一次迭代。

掌握这些控制结构和语句的使用,可以使你在编写代码时更加灵活和高效,能够应对各种复杂的逻辑需求。在实际开发中,合理地选择控制结构将直接影响代码的可读性和执行效率。

相关推荐
雷神乐乐3 分钟前
Java操作Excel导入导出——POI、Hutool、EasyExcel
java·开发语言·spring boot·poi·easyexcel·hutool
小李老笨了17 分钟前
React的渲染流程
javascript·react.js·ecmascript
忘不了情19 分钟前
react中,使用antd的Upload组件上传zip压缩包文件
前端·javascript·react.js
冰淇淋百宝箱36 分钟前
GraphRAG: Auto Prompt Tuning 实践
java·服务器·前端
凉冰不加冰1 小时前
JVM直击重点
开发语言·jvm
miilue1 小时前
[LeetCode] 链表I — 704#设计链表 | 203#移除链表元素 | 206#反转链表 | 递归法
java·开发语言·c++·算法·leetcode·链表
记得开心一点嘛1 小时前
uniapp --- 配置文件
前端·typescript·uni-app
Bingo_BIG1 小时前
uni-app main.js中全局变量的使用
javascript·vue.js·uni-app
Bingo_BIG1 小时前
uni-app vue3 常用页面 组合式api方式
前端·javascript·uni-app
无限大.1 小时前
基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day2
前端·html·html5