JavaScript中Number类型统一用IEEE 754双精度浮点格式存储,十进制字面量最安全;十六进制(0x)、八进制(0o)、二进制(0b)需规范前缀;科学计数法(e/E)适用于极大极小值。

JavaScript 中 Number 类型没有“整数类型”和“浮点类型”的物理区分,所有数字统一用 IEEE 754 双精度浮点格式(64位)存储。但字面量写法会影响代码可读性、兼容性与运行时行为,掌握规范写法和常见陷阱很实用。
十进制是最安全、最推荐的默认写法
日常开发中直接写数字即可,无需前缀:
- let count = 100; —— 整数,清晰无歧义
-
let price = 19.99; —— 浮点数,小数点后必须有数字(
.1合法但不推荐;1.会被自动转为1) - let negative = -42; —— 负号是运算符,不是字面量一部分
十六进制适合颜色、位操作与常量定义
以 0x 或 0X 开头,后接 0–9、a–f(大小写均可),全程严格解析:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- let red = 0xff; → 255,常用于 CSS 颜色或字节值
- let mask = 0b1010 & 0xf; → 混合二进制与十六进制做位运算更直观
- 超出范围会报语法错误:
0xg1、0xZZ都非法
八进制和二进制需注意兼容性与写法规范
ES5 及更早用 0 开头表示八进制(如 0755),但严格模式下已废弃且报错。现代写法必须用明确前缀:
立即学习“Java免费学习笔记(深入)”;
- 八进制:用
0o或0O(如0o755→ 十进制 493) - 二进制:用
0b或0B(如0b1100→ 十进制 12) - 旧式写法
0123在非严格模式下可能被误解析为八进制(0123→ 83),但行为不可靠,应避免
科学计数法用于极大/极小数值,也影响输出格式
用 e 或 E 表示 10 的幂,支持正负指数:
- let mass = 5.972e24; → 地球质量(kg)
- let charge = 1.602e-19; → 元电荷(C)
- JS 会在特定条件下自动转为科学记数法输出:小数点后连续 5 个以上 0(如
0.000001→1e-6),或整数超过 21 位时(如1234567890123456789012→1.2345678901234568e+21)

















