// 01 · 基础 // 学练复习一体:概念总结 → 示范 → 轮到你 // 跑法:Quokka(Cmd+Shift+P → Quokka: Start on Current File)/ 右上角 ▷ / node 本文件 // ═════ 概念总结 ═════ // // 1. console.log() —— 打印输出 // 调试、看结果全靠它:console.log('Hello, World!') // console —— JS 内置的"控制台"对象 // .log(...) —— 它的方法,作用是打印 // 'Hello' —— 传给它的内容 // 可一次打印多个,用逗号隔开:console.log('a =', 1) // // 2. 注释 // // // 后面的内容是给人看的说明,不会被执行。删掉 // 才会"激活"那行代码。 // // 3. 表达式:先算再用 ⭐ // 引号【外】的算式会先被算成结果,再拿去用(几乎所有语言通用): // console.log('1 + 1 =', 1 + 1) // 1 + 1 = 2 ← 这个 1+1 会先变成 2 // - 引号【里】 '1 + 1' → 文字,原样打印 // - 引号【外】 1 + 1 → 运算,先算成 2 // // 4. 字符串引号:单 / 双 / 反 ⭐ // '单引号' → string // "双引号" → string,和单引号【完全等价】 // `反引号` → 模板字符串,有特殊能力 // - 单引号 = 双引号,功能没区别;社区默认用单引号(Prettier 也统一成单引号) // - 文字里含引号时,用另一种包起来防"打架": // "It's a nice day" ✅ 文字有 ' → 用 " 包 // 'It's a nice day' ❌ 报错:中间的 ' 提前结束了字符串 // - 反引号最有用:能用 ${变量} 直接把变量嵌进字符串,还能换行: // const name = '小明'; console.log(`我叫${name}`) // 我叫小明 // 注意:${} 只在反引号里生效,单双引号里写它只是普通文字。 // // 5. 怎么运行一个 .js 文件 ⭐ // ┌────────────┬──────────────────────────────────────┬──────────────────────────────┐ // │ 文件类型 │ 特征 │ 怎么跑 │ // ├────────────┼──────────────────────────────────────┼──────────────────────────────┤ // │ 自包含 │ 自己定义自己用,无 document │ ▷ / Quokka / node 文件.js ✅ │ // │ 浏览器示例 │ 靠 index.html 串多脚本共享变量, │ 浏览器 + F12 Console ✅ │ // │ │ 或含 document │ │ // └────────────┴──────────────────────────────────────┴──────────────────────────────┘ // 教程第 1 天的 main.js 报 "firstName is not defined",就是因为它依赖 variable.js, // 属于"浏览器示例",不能用 ▷/node 单独跑。这不是 bug,是运行方式用错了。 // // ✅ 本主题要点回顾 // 1. console.log() 打印 // 2. // 注释,不执行 // 3. 表达式先算再用(1+1→2) // 4. 单引号=双引号(推荐单引号);反引号能嵌 ${变量} // 5. 自包含文件才能用 ▷/Quokka 跑 // ═════ 示范 ═════ // ── 1. console.log 打印 ────────────────────────── console.log('Hello, World!') // Hello, World! // ── 2. 一次打印多个,用逗号隔开 ──────────────────── console.log('1 + 1 =', 1 + 1) // 1 + 1 = 2 // ── 3. 表达式先算再用:引号内 vs 引号外 ⭐ ────────── console.log('10 * 5') // 10 * 5 ← 字符串,原样(不算) console.log(10 * 5) // 50 ← 运算,算了 console.log('10 * 5 =', 10 * 5) // 10 * 5 = 50 // ── 4. 单引号 = 双引号 ──────────────────────────── console.log('我是单引号') // 我是单引号 console.log("我是双引号") // 我是双引号 // 文字里含撇号 → 用双引号包,避免"打架" console.log("It's a nice day") // It's a nice day // ── 5. 反引号:用 ${} 嵌变量 ⭐ ──────────────────── const name = '小明' const age = 18 console.log('老办法:' + '我叫' + name + ',今年' + age + '岁') // 老办法:我叫小明,今年18岁 console.log(`新办法:我叫${name},今年${age}岁`) // 新办法:我叫小明,今年18岁 // ═════ 轮到你 ═════ // ── 6. 👇 轮到你:自己写一行,打印 (100 - 20) / 4 的结果 ── console.log('结果 =', (100 - 20) / 4)