跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScript大前端java

JavaScript 运算符与流程控制详解

JavaScript 运算符涵盖自增、比较与逻辑运算,重点区分 == 与 === 的类型转换行为。流程控制包含条件判断(if、switch)与循环(while、for),理解真值假值规则及 break/continue 用法有助于编写健壮的逻辑代码。

锁机制发布于 2026/4/9更新于 2026/7/2130 浏览
JavaScript 运算符与流程控制详解

JavaScript 运算符与流程控制详解

在 JavaScript 开发中,运算符和流程控制是构建业务逻辑的基石。本文将深入讲解比较运算符、逻辑运算、条件判断及循环语句,重点剖析容易踩坑的细节,帮助你写出更健壮的代码。

运算符:自增、比较与逻辑

1. 自增运算符(++)

自增分为前缀(++i)和后缀(i++),核心区别在于返回值时机不同:

  • 后缀自增(i++):先返回当前值,变量再自增。
  • 前缀自增(++i):变量先自增,再返回新值。
let i = 1;
console.log(i+++++i + i); // 结果为 7
/*
 * 解析过程:
 * 1. i++ 先返回 1,此时 i 变为 2
 * 2. ++i 先将 i 自增为 3,返回 3
 * 3. 最后的 + i 取当前 i 的值 3
 * 总和:1 + 3 + 3 = 7
 */

2. 比较运算符

用于判断值的关系,返回布尔值。需特别注意 == 与 === 的区别:

运算符特点示例结果
==只比较值(隐式转换类型)2 == "2"true(字符串转数字)
===比较值和类型(无转换)2 === "2"false(类型不同)
!=只比较值不相等2 != "2"false(值相等)
!==比较值或类型不相等2 !== "2"true(类型不同)

特殊规则提示:

  • 字符串按字符编码比较(如 "a" < "b" 为 true)。
  • NaN 与任何值比较都返回 false,包括它自身。
console.( == );    
.( === );   
.( < ); 
log
2
"2"
// true(隐式转换)
console
log
2
"2"
// false(类型不同)
console
log
"aabgg"
"bzzzz"
// true(首字符 "a" < "b")

3. 逻辑运算符

组合多个条件判断,返回布尔值:

运算符描述示例结果
&&逻辑与(两边都真才真)3 < 5 && 3 < 9true
``逻辑或(至少一边真则真)
!逻辑非(取反)!(2 > 5)true

真值/假值规则:

  • 假值:0、""、null、undefined、NaN。
  • 真值:除假值外的所有值(如非空字符串、非 0 数字)。
console.log(!9);      // false(9 是真值)
console.log(!"");    // true(空字符串是假值)

条件判断语句

1. if 语句

根据条件执行代码块,条件会隐式转换为布尔值:

// 语法
if (条件) {
  // 条件为真时执行
} else {
  // 条件为假时执行
}

// 示例:判断空格字符串是否为真
if (" ") {
  console.log(true); // 输出:true(空格是非空字符串,为真值)
} else {
  console.log(false);
}

2. 三目运算符

if-else 的简写形式,适合简单的赋值或返回场景:

// 判断 2 与 "2" 是否绝对相等
document.write(2 === "2" ? "相等" : "不等"); // 输出:不等

3. switch 语句

用于多条件等值判断(使用 === 比较),务必配合 break 防止穿透:

let num5 = 3;
switch (num5) {
  case 1:
    console.log("选了 1");
    break;
  case 2:
    console.log("选了 2");
    break;
  case 3:
    console.log("选了 3"); // 匹配成功,输出此句
    break;
  default:
    console.log("无匹配项");
}
// 输出:选了 3

循环语句

1. while 循环

根据条件重复执行代码块,continue 可跳过本次循环剩余部分:

let n = 5;
while (n--) {
  if (n === 3) continue; // 跳过 n=3 的循环
  document.write(`执行第${n}次<br/>`);
}
// 输出:
// 执行第 4 次
// 执行第 2 次
// 执行第 1 次
// 执行第 0 次

2. for 循环

更灵活的循环方式,适合已知循环次数的场景:

for (初始化;条件;更新) {
  // 循环体
}

// 示例:基本用法
for (let i = 1; i <= 5; i++) {
  console.log(i); // 依次输出 1、2、3、4、5
}

总结

本文梳理了 JavaScript 的核心运算符和流程控制机制:

  • 自增运算符的前缀/后缀差异直接影响返回值。
  • 比较运算符中 === 比 == 更严格,建议优先使用。
  • 逻辑运算依赖真值/假值转换,需注意边界情况。
  • 条件判断:if 适合区间判断,switch 适合等值判断。
  • 循环控制:while 适合未知次数,for 适合已知次数,灵活运用 break 和 continue 优化逻辑。

目录

  1. JavaScript 运算符与流程控制详解
  2. 运算符:自增、比较与逻辑
  3. 1. 自增运算符(++)
  4. 2. 比较运算符
  5. 3. 逻辑运算符
  6. 条件判断语句
  7. 1. if 语句
  8. 2. 三目运算符
  9. 3. switch 语句
  10. 循环语句
  11. 1. while 循环
  12. 2. for 循环
  13. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Topaz Gigapixel AI 8.2.3 图像放大原理与实战解析
  • BaseCTF Week3 Web & Misc 解题报告
  • MonkeyCode:重新定义 AI 编程协作流程
  • 深入理解 Java Stream 流:原理、性能与最佳实践
  • 从工具焦虑到持续变现:AI 赚钱的关键不在技术
  • 二分答案专题实战:木材加工与砍树问题详解
  • 基于 Python Flask 的电影票房数据采集分析与可视化系统
  • WorkBuddy 使用指南:配置 QQ 机器人实现桌面智能体
  • MySQL root 密码管理实战:三种场景一次性解决
  • Flutter wasm_interop 鸿蒙 Web 端适配与高性能计算实战
  • AIGC 大模型工程师与产品经理核心能力成长路径
  • 深入源码:Spring Bean 作用域、生命周期与自动装配
  • 前端文件上传进阶:分片、断点续传与体验优化
  • ionet 分布式事件总线实战:无需中间件的通信方案
  • Llama-2-7b 在昇腾 NPU 上的六大核心场景性能基准
  • C++ 四十年演进史与命名空间基础
  • 80 元低成本无人机系统设计与实现
  • JavaScript 获取本周周一零点时间方法
  • 闲置手机变复古掌机:天马 G 前端安装与原理分析
  • GPEN 批量处理断点续传功能设计与实现

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online