正在加载...

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"

不加引号写数字

整数和小数在这里是同一类型。本阶段不需要单独的“整数类型”。

整数与小数字面量

javascript
let score = 42;
let price = 9.99;
console.log(score);
console.log(price);
console.log(typeof score);
console.log(typeof price);

日常运算

使用 +、-、*、/ 和 %(余数)。运算符模块以后会讲得更深;这里只要看到数字确实在计算即可。

数字的基础运算

javascript
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。

无效运算得到 NaN

javascript
let broken = 0 / 0;
console.log(broken);
console.log(typeof broken);

Infinity

正数除以零得到 Infinity(负的被除数得到 -Infinity)。这是引擎产生的真实结果——调试时认得它很有用。

除以零得到 Infinity

javascript
let huge = 1 / 0;
console.log(huge);
console.log(typeof huge);

用 toFixed 格式化小数

toFixed(n) 返回带 n 位小数的字符串——适合金额式显示。记住:结果是文本;继续运算请用原始数字,不要用格式化后的字符串。

用于显示的 toFixed

javascript
let total = 19.999;
console.log(total.toFixed(2));
console.log(typeof total.toFixed(2));

在页面上显示合计

算出总和,需要时再格式化,用 textContent 写到页面上。

页面显示计算得到的合计

html
<!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,刷新,确认那一行会更新。

自己动手

  1. 建两个数字 let(一个整数、一个小数);打印二者及 typeof。
  2. 对两个小整数打印 a + b、a * b 和 a % b。
  3. 打印 0 / 0,确认看到 NaN。
  4. 打印 1 / 0,确认看到 Infinity。
  5. 对小数调用 toFixed(2);结果的 typeof 是 "string"。
  6. 在 HTML 演示里只改 price 或 tax,刷新,读新的合计。

常见错误

  • 写 let n = "10"; 却期望数字运算——引号会变成字符串
  • 控制台结果看起来“空”或奇怪时忽略 NaN
  • 除以零后对 Infinity 感到惊讶
  • 对 toFixed 的结果继续做数学运算(那是字符串)
  • 期待单独的整数类型——初学者只有一个 number 类型

小结

  • 整数和小数共用 number 类型;不加引号书写
  • 日常计算用 +、-、*、/ 和 %
  • NaN 与 Infinity 是需要认识的特殊数字结果
  • toFixed 用于显示小数并返回字符串
  • 下一课:字符串——更细致地处理文本

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
8
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部