You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30-Days-Of-JavaScript/js_notes/01-basics.js

83 lines
4.8 KiB

// 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)