JavaScript 数字
你已经知道值可以是 number。本课只围绕这一种类型:如何写数字、做日常运算、识别 NaN 和 Infinity 这类特殊结果,以及在页面上整齐显示小数。
JavaScript 中的数字如何工作?
对初学者来说,整数和小数共用一种类型:number。请不要加引号——42 和 3.5 是数字;"42" 是字符串。你可以用 +、-、*、/ 和 %(余数)运算。有些运算会产生特殊结果:算不出可用数字时得到 NaN(“Not a Number”);数值超出有限范围时得到 Infinity(例如除以零)。显示时,toFixed 会按你指定的小数位数生成字符串。
数字工具箱
📊 初学者先用的数字工具
| 概念 | 示例 | 结果 / 说明 |
|---|---|---|
| 整数字面量 | let n = 10; |
整数,类型 number |
| 小数字面量 | let p = 2.5; |
同为 number 类型 |
| 运算 | 10 + 3、10 % 3 |
和为 13;余数为 1 |
| NaN | 0 / 0 或无效运算 |
“不是数字”——但 typeof 仍是 "number" |
| Infinity | 1 / 0 |
超出有限范围 |
toFixed |
(3.14159).toFixed(2) |
显示用字符串 "3.14" |
不加引号写数字
整数和小数在这里是同一类型。本阶段不需要单独的“整数类型”。
let score = 42;
let price = 9.99;
console.log(score);
console.log(price);
console.log(typeof score);
console.log(typeof price);
日常运算
使用 +、-、*、/ 和 %(余数)。运算符模块以后会讲得更深;这里只要看到数字确实在计算即可。
let a = 10;
let b = 3;
console.log(a + b);
console.log(a - b);
console.log(a * b);
console.log(a / b);
console.log(a % b);
NaN — 不是可用的数字
NaN 表示结果不是有用的数字。奇怪的是:typeof NaN 仍然是 "number"。如果计算看起来坏了,把值打印出来并检查是否为 NaN。
let broken = 0 / 0;
console.log(broken);
console.log(typeof broken);
Infinity
正数除以零得到 Infinity(负的被除数得到 -Infinity)。这是引擎产生的真实结果——调试时认得它很有用。
let huge = 1 / 0;
console.log(huge);
console.log(typeof huge);
用 toFixed 格式化小数
toFixed(n) 返回带 n 位小数的字符串——适合金额式显示。记住:结果是文本;继续运算请用原始数字,不要用格式化后的字符串。
let total = 19.999;
console.log(total.toFixed(2));
console.log(typeof total.toFixed(2));
在页面上显示合计
算出总和,需要时再格式化,用 textContent 写到页面上。
<!DOCTYPE html>
<html>
<head>
<title>Numbers — total on page</title>
</head>
<body>
<p id="out">…</p>
<script>
let price = 12.5;
let tax = 1.25;
let total = price + tax;
document.getElementById("out").textContent = "Total: " + total.toFixed(2);
</script>
</body>
</html>
段落会显示类似金额的合计。改 price 或 tax,刷新,确认那一行会更新。
自己动手
- 建两个数字
let(一个整数、一个小数);打印二者及typeof。 - 对两个小整数打印
a + b、a * b和a % b。 - 打印
0 / 0,确认看到NaN。 - 打印
1 / 0,确认看到Infinity。 - 对小数调用
toFixed(2);结果的typeof是"string"。 - 在 HTML 演示里只改
price或tax,刷新,读新的合计。
常见错误
- 写
let n = "10";却期望数字运算——引号会变成字符串 - 控制台结果看起来“空”或奇怪时忽略
NaN - 除以零后对
Infinity感到惊讶 - 对
toFixed的结果继续做数学运算(那是字符串) - 期待单独的整数类型——初学者只有一个 number 类型
小结
- 整数和小数共用 number 类型;不加引号书写
- 日常计算用
+、-、*、/和% - NaN 与 Infinity 是需要认识的特殊数字结果
toFixed用于显示小数并返回字符串- 下一课:字符串——更细致地处理文本
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部