第3课:运算符与流程控制——JS的“决策者”

一切美好都值得你全力以赴。即使过程艰难,但只要坚持,必有回响。加油!

欢迎来到「JavaScript 魔法学院」第 3 课!今天我们将化身代码世界的"指挥官",用运算符 计算数据,用流程控制 做出决策!文末实战带你用9 行代码生成九九乘法表,绝对震撼!

一、运算符:JS 的"计算器"

1. 算术运算符

js 复制代码
console.log(10 + 3 * 2);   // 16(注意优先级!)
console.log(10 % 3);       // 1(取余数)
console.log(2 ** 4);       // 16(指数运算)

优先级口诀:先乘除后加减,括号优先最保险!

2. 比较运算符

符号 含义 示例 结果
== 值相等 "5" == 5
=== 严格相等 "5" === 5
大于 10 > "8"

避坑指南:

  • 优先用 === 避免隐式类型转换
  • NaN === NaN 的结果是 false(特殊记忆!)

3. 逻辑运算符

js 复制代码
// &&(与):两个条件都为真
if (age > 18 && hasLicense) { /* 允许驾驶 */ }

// ||(或):任意条件为真
if (isRainy || isSnowy) { /* 带伞 */ }

// !(非):取反
console.log(!true);  // false

二、流程控制:代码的"红绿灯"

1. 条件分支:if/else

js 复制代码
// 基本结构
const score = 85;
if (score >= 90) {
  console.log("A");
} else if (score >= 60) {
  console.log("B");
} else {
  console.log("C");
}

2. 开关语句:switch

js 复制代码
// 适合多条件精确匹配
const fruit = "苹果";
switch (fruit) {
  case "香蕉":
    console.log("黄色");
    break;  // 必须break!
  case "苹果":
    console.log("红色");
    break;
  default:
    console.log("未知水果");
}

3. 循环结构

for 循环

js 复制代码
// 打印1-5
for (let i = 1; i <= 5; i++) {
  console.log(i);
}

如果把 for 循环里面的 let 变成 const,打印结果会一样吗?为什么?

js 复制代码
for (const i = 1; i <= 5; i++) {
  console.log(i);
}

while 循环

js 复制代码
// 适合未知循环次数
let count = 3;
while (count > 0) {
  console.log(`剩余次数:${count}`);
  count--;
}

do...while 循环

js 复制代码
// 适合未知循环次数
let num = 3;
do {
console.log(`剩余次数:${num}`);
num--;
} while (num > 0);

循环控制

  • break:立刻终止整个循环

  • continue:跳过本次循环,继续下一次

三、实战:9 行代码生成九九乘法表

1. 完整代码

js 复制代码
for (let i = 1; i <= 9; i++) {       // 外层控制行数
  let line = "";
  for (let j = 1; j <= i; j++) {     // 内层控制每行公式
    line += `${j}x${i}=${i*j}\t`;    // \t 制表符对齐
  }
  console.log(line);
}

1. 效果演示

3. 代码解析

  • 双重循环:外层遍历行数,内层遍历每行公式

  • 字符串拼接:用模板字符串动态生成公式

  • 转义字符:\t 实现控制台输出对齐

4.高颜值九九乘法表

下节预告

第 4 课:函数基础------JS 的"魔法咒语"

  • 如何封装可复用的代码块?

  • 箭头函数 vs 普通函数

  • 实战:开发"随机抽奖器"!

关注公众号,回复【JS】获取本课源码+工具包!

相关推荐
三十而立洋2 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
晨米酱2 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
卡布鲁2 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄2 天前
JavaScript 隐式全局变量解析
javascript
彧azz2 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
沙蒿同学2 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
CoderYanger2 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
paopaokaka_luck2 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
爱学习的执念2 天前
助力金九银十1000道软件测试面试题(功能、接口、自动化、WEB、APP.......)附答案
软件测试·面试
小的~~2 天前
银河麒麟V10 ARM部署TDengine(涛思)工业时序数据库安装与测试
面试·程序员创富