Skip to content

7. 流程控制:条件语句(做选择)

条件语句是 JavaScript 中用于根据不同条件执行不同代码块的语句。本章节将带你学习 JavaScript 的条件语句,包括 if 语句、if...else 语句、if...else if 语句、switch 语句和三元运算符。

7.1 if 语句:单条件判断

if 语句用于在条件为真时执行代码块。

基本语法

javascript
if (条件) {
    // 条件为真时执行的代码
}

示例

javascript
let age = 18;

if (age >= 18) {
    console.log('你是成年人');
}

let score = 90;

if (score >= 60) {
    console.log('考试及格');
}

注意事项

  • 条件表达式必须放在括号中
  • 代码块必须用大括号包围,即使只有一行代码
  • 条件表达式会被转换为布尔值

7.2 if...else 语句:二选一

if...else 语句用于在条件为真时执行一个代码块,在条件为假时执行另一个代码块。

基本语法

javascript
if (条件) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

示例

javascript
let age = 16;

if (age >= 18) {
    console.log('你是成年人');
} else {
    console.log('你是未成年人');
}

let score = 50;

if (score >= 60) {
    console.log('考试及格');
} else {
    console.log('考试不及格');
}

7.3 if...else if 语句:多条件判断

if...else if 语句用于在多个条件中选择一个执行。

基本语法

javascript
if (条件1) {
    // 条件1为真时执行的代码
} else if (条件2) {
    // 条件2为真时执行的代码
} else if (条件3) {
    // 条件3为真时执行的代码
} else {
    // 所有条件都为假时执行的代码
}

示例

javascript
let score = 85;

if (score >= 90) {
    console.log('优秀');
} else if (score >= 80) {
    console.log('良好');
} else if (score >= 60) {
    console.log('及格');
} else {
    console.log('不及格');
}

let day = 'Monday';

if (day === 'Monday') {
    console.log('今天是星期一');
} else if (day === 'Tuesday') {
    console.log('今天是星期二');
} else if (day === 'Wednesday') {
    console.log('今天是星期三');
} else {
    console.log('今天是其他日子');
}

7.4 switch 语句:固定值匹配

switch 语句用于根据变量的不同值执行不同的代码块。

基本语法

javascript
switch (表达式) {
    case 值1:
        // 表达式等于值1时执行的代码
        break;
    case 值2:
        // 表达式等于值2时执行的代码
        break;
    case 值3:
        // 表达式等于值3时执行的代码
        break;
    default:
        // 表达式不等于任何case值时执行的代码
}

示例

javascript
let day = 'Monday';

switch (day) {
    case 'Monday':
        console.log('今天是星期一');
        break;
    case 'Tuesday':
        console.log('今天是星期二');
        break;
    case 'Wednesday':
        console.log('今天是星期三');
        break;
    case 'Thursday':
        console.log('今天是星期四');
        break;
    case 'Friday':
        console.log('今天是星期五');
        break;
    case 'Saturday':
    case 'Sunday':
        console.log('今天是周末');
        break;
    default:
        console.log('无效的日期');
}

let grade = 'A';

switch (grade) {
    case 'A':
        console.log('优秀');
        break;
    case 'B':
        console.log('良好');
        break;
    case 'C':
        console.log('及格');
        break;
    case 'D':
        console.log('不及格');
        break;
    default:
        console.log('无效的等级');
}

注意事项

  • switch 语句使用严格相等(===)进行比较
  • 每个 case 后面必须有 break 语句,否则会继续执行下一个 case(称为 "fallthrough")
  • default 分支是可选的,用于处理所有未匹配的情况

7.5 三元运算符:简洁版条件判断

三元运算符是一种简洁的条件判断语法,用于根据条件返回不同的值。

基本语法

javascript
条件 ? 值1 : 值2

如果条件为真,返回值1;否则返回值2。

示例

javascript
let age = 18;
let message = age >= 18 ? '你是成年人' : '你是未成年人';
console.log(message);  // '你是成年人'

let score = 85;
let grade = score >= 90 ? 'A' : score >= 80 ? 'B' : score >= 60 ? 'C' : 'D';
console.log(grade);  // 'B'

// 作为函数返回值
function getMessage(age) {
    return age >= 18 ? '成年人' : '未成年人';
}

console.log(getMessage(20));  // '成年人'
console.log(getMessage(15));  // '未成年人'

注意事项

  • 三元运算符适合简单的条件判断,复杂的条件判断建议使用 if...else 语句
  • 可以嵌套使用三元运算符,但嵌套层级不宜过深,否则会降低代码可读性

7.6 实战:判断成绩等级 / 年龄是否成年

实战1:判断成绩等级

javascript
function getGrade(score) {
    if (score >= 90) {
        return '优秀';
    } else if (score >= 80) {
        return '良好';
    } else if (score >= 60) {
        return '及格';
    } else {
        return '不及格';
    }
}

console.log(getGrade(95));  // '优秀'
console.log(getGrade(85));  // '良好'
console.log(getGrade(65));  // '及格'
console.log(getGrade(45));  // '不及格'

实战2:判断年龄是否成年

javascript
function checkAdult(age) {
    if (age >= 18) {
        return '你是成年人,可以投票和驾驶。';
    } else if (age >= 16) {
        return '你是青少年,可以打工。';
    } else {
        return '你是儿童,需要成年人监护。';
    }
}

console.log(checkAdult(20));  // '你是成年人,可以投票和驾驶。'
console.log(checkAdult(17));  // '你是青少年,可以打工。'
console.log(checkAdult(10));  // '你是儿童,需要成年人监护。'

小结

通过本章节的学习,你已经掌握了:

  • if 语句:单条件判断
  • if...else 语句:二选一
  • if...else if 语句:多条件判断
  • switch 语句:固定值匹配
  • 三元运算符:简洁版条件判断
  • 如何使用条件语句解决实际问题

在后续的章节中,我们将学习 JavaScript 的循环语句和函数等核心语法。

© 2026 编程马·菜鸟教程 版权所有