全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-16 6 分钟 ✍️ juanwangdev

JavaScript 条件语句(if-else)

if-else 语句是最基本的条件控制结构,根据条件真假执行不同的代码块。

基本语法

JavaScript
// 单分支
if (条件) {
    // 条件为真时执行
}

// 双分支
if (条件) {
    // 条件为真时执行
} else {
    // 条件为假时执行
}

// 多分支
if (条件1) {
    // 条件1为真时执行
} else if (条件2) {
    // 条件2为真时执行
} else {
    // 以上条件都为假时执行
}

代码示例

JavaScript
// 单分支
let age = 18;
if (age >= 18) {
    console.log('已成年');
}

// 双分支
let score = 55;
if (score >= 60) {
    console.log('及格');
} else {
    console.log('不及格');
}

// 多分支
let grade = 85;
if (grade >= 90) {
    console.log('优秀');
} else if (grade >= 80) {
    console.log('良好');
} else if (grade >= 60) {
    console.log('及格');
} else {
    console.log('不及格');
}

条件表达式

JavaScript
// 任何表达式都可作为条件
let x = 5;

// 比较表达式
if (x > 0) { }

// 逻辑表达式
if (x > 0 && x < 10) { }

// 变量本身(根据真假值判断)
let name = 'Tom';
if (name) { }  // 非空字符串为真

let items = [];
if (items.length) { }  // 0 为假

// 函数调用
function isValid() { return true; }
if (isValid()) { }

嵌套 if

JavaScript
let age = 25;
let hasLicense = true;

if (age >= 18) {
    if (hasLicense) {
        console.log('可以驾驶');
    } else {
        console.log('需要先考驾照');
    }
} else {
    console.log('未成年');
}

// 使用逻辑运算符简化
if (age >= 18 && hasLicense) {
    console.log('可以驾驶');
} else if (age >= 18) {
    console.log('需要先考驾照');
} else {
    console.log('未成年');
}

简写形式

JavaScript
// 单语句可省略大括号(不推荐)
if (score >= 60) console.log('及格');

// 三元运算符替代简单 if-else
let result = score >= 60 ? '及格' : '不及格';

// 多条件简化
let status = age < 13 ? '儿童' :
             age < 20 ? '青少年' :
             age < 60 ? '成年人' : '老年人';

常见模式

JavaScript
// 提前返回
function processUser(user) {
    if (!user) {
        return '无用户信息';
    }
    if (!user.name) {
        return '用户名缺失';
    }
    return `用户:${user.name}`;
}

// 默认值处理
function greet(name) {
    name = name || 'Guest';
    console.log(`Hello, ${name}`);
}

// 范围判断
function getTimeOfDay(hour) {
    if (hour < 6) return '凌晨';
    if (hour < 12) return '上午';
    if (hour < 14) return '中午';
    if (hour < 18) return '下午';
    if (hour < 22) return '晚上';
    return '深夜';
}

注意事项

  • 条件表达式会被转为布尔值判断
  • 大括号可以省略但强烈不推荐,会导致代码可读性差
  • else if 不是独立语句,而是 else 后跟 if 语句
  • 注意条件判断的顺序,避免条件重叠
JavaScript
// 不推荐的写法
if (x > 0)
    console.log('正数');
    console.log('这行总是会执行');  // 缩进误导,实际不在 if 内

// 推荐的写法
if (x > 0) {
    console.log('正数');
}

// 条件重叠问题
let num = 85;
if (num >= 60) {
    console.log('及格');  // 会执行这里
} else if (num >= 80) {   // 这个分支永远不会到达
    console.log('良好');
}
// 正确顺序应从大到小判断

要点总结

  • if 语句根据条件真假决定执行路径
  • else if 用于多条件分支,else 处理其他情况
  • 条件表达式会自动转为布尔值
  • 推荐使用大括号包裹代码块,提高可读性
  • 提前返回模式可简化嵌套 if
  • 注意条件判断顺序,避免分支逻辑错误

📝 发现内容有误?点击此处直接编辑

← 上一篇 JavaScript while 循环
下一篇 → JavaScript 比较运算符
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库