🐛
巴格
老板!JS 算数不准!
0.1 + 0.2 竟然等于 0.30000000000000004!
JS 队长
这是因为电脑用二进制存小数,有时候存不准。
解决办法:先乘成整数再除回去。
let z = (0.1 * 10 + 0.2 * 10) / 10; // 0.3
🦸♂️
😵 赋值 vs 比较
最经典的错误:在 if 里把 == 写成了 =。
let x = 0;
if (x = 10) { // ❌ 这是赋值!结果是 10 (真),所以永远执行!
console.log("x 变成了 10");
}
💔 字符串断行
JS 不喜欢你直接把字符串换行。
let x = "Hello
World"; // ❌ 报错
如果你非要换行,请用反斜杠 \ 或者模板字符串 `...`。
🎮 找茬游戏
下面的代码有一个致命错误,导致循环永远停不下来。请找出并修复它!
let i = 0;
// 原代码:while (i = 10) { ... }
while (i 10) {
i++;
}