赋值
上一课的算术符号用来算出新数字。这一课要把结果放进有名字的盒子,并在之后更新它。赋值就是变量如何装进内容——用 =,也用 += 这类简写,意思是「取出旧值,改一下,再存回去」。
什么是赋值?
赋值把值存进变量。左边是名字,右边是值(或能算出值的表达式)。写完 let points = 10; 之后,名字 points 里就是 10。后面的语句可以读这个名字,也可以往里存新值。
运算符一览
📊 常用赋值运算符
| 运算符 | 含义 | 等价于 |
|---|---|---|
= |
存入 | (首次存入或整段替换) |
+= |
加上再存 | x = x + … |
-= |
减去再存 | x = x - … |
*= |
乘上再存 | x = x * … |
/= |
除后再存 | x = x / … |
%= |
取余再存 | x = x % … |
把这张表放在手边。每个简写仍然是赋值——只是把运算收进同一条语句。初学者应能把 += 在脑子里展开成 x = x + …。
let points = 10;
console.log(points);
let label = "ready";
console.log(label);
let total = 4 + 6;
console.log(total);
用 let 重新赋值
用 let 时,后面的赋值会替换已存的值。计数器、得分、会变的表单字段都常这么做。
let score = 0;
console.log(score);
score = 10;
console.log(score);
score = score + 5;
console.log(score);
控制台依次显示 0、10、15。每次 = 都向 score 写入新值。若名字在首次存入后不应再变,用 const——const 会拒绝对该名的第二次赋值。
复合赋值(简写)
简写在一行里既更新又存入。左边仍是同一个名字。
let n = 8;
n += 2;
console.log(n);
n -= 3;
console.log(n);
n *= 2;
console.log(n);
n /= 4;
console.log(n);
n %= 3;
console.log(n);
从 8 开始。+= 2 后是 10。-= 3 → 7。*= 2 → 14。/= 4 → 3.5。%= 3 → 0.5。一次跟一个简写,直到模式变成本能。
用 += 拼文字
当存的是字符串时,+= 会追加文字。适合一步步拼出一段消息。
let msg = "Hi";
msg += " ";
msg += "Sam";
console.log(msg);
let line = "score=";
line += 12;
console.log(line);
msg 变成 "Hi Sam"。line 变成 "score=12",因为把数字接到字符串上会得到文本。这和算术课里 + 的陷阱是同一思路——想清楚要的是数字还是消息。
= 存入;=== 比较
一个等号是存入。三个等号问「值和类型是否相同?」搞混是经典错误:写成 if (x = 5) 会存入 5,而不是比较。
let x = 5;
console.log(x);
console.log(x === 5);
console.log(x === "5");
x = 9;
console.log(x === 9);
let x = 5 之后,x 的日志是 5。x === 5 为 true。x === "5" 为 false(数字对字符串)。随后 x = 9 存入新值,于是 x === 9 为 true。比较的深入课在下一节——这里只要分清「存」和「问」。
在页面上更新计数器
存一个起始计数,用 += 往上加,再把结果写到页面上。
<!DOCTYPE html>
<html>
<head>
<title>Assignment — page counter</title>
</head>
<body>
<p id="out">…</p>
<script>
let clicks = 0;
clicks += 1;
clicks += 2;
let box = document.getElementById("out");
box.textContent = "clicks=" + clicks;
</script>
</body>
</html>
从 0 开始,加 1,再加 2 → 页面显示 clicks=3。改简写、刷新、核对文字。真正的按钮以后可以调用同一思路;这个演示只展示存入与更新。
自己试一试
- 存入
let a = 3,打印a,再赋a = 7并再次打印。 - 从
let n = 10开始,执行n += 4,打印n。 - 在该
n上执行n *= 2并打印。 - 构造
let s = "Go",再s += "!"并打印。 - 并排打印
7 === 7与7 === "7"。 - 在 HTML 演示里只改第二个简写(
+= 2),刷新后读新的 clicks。
常见错误
- 条件里本该写
===却写成了= - 首次存入后再给
const名赋值 - 忘了左边的变量名(单独的
+= 5无效) - 以为
+=只能用于数字——字符串也会追加 - 把赋值(存入)和纯算术(算出新值却没有目标名)混为一谈
小结
=把值存进变量let允许之后再存;const固定第一次存入+=-=*=/=%=一步更新并存入+=既能拼文字也能加数字=存入;===比较——不要对调- 下一课:比较——用
===、!==、<、>等提问
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部