javascript中八进制用0o/0o、十六进制用0x/0x、二进制用0b/0b前缀,后接合法数字;旧式八进制0开头写法已弃用;所有字面量均转为十进制数值参与运算。

八进制字面量:必须用 0o 或 0O 开头
ES6 正式规定八进制字面量统一使用 0o(零+小写字母 o)或 0O(零+大写字母 O)前缀,后面只能跟数字 0–7。
-
let num1 = 0o755;→ 十进制 493(合法) -
let num2 = 0O123;→ 十进制 83(合法) -
let num3 = 0o89;→ 报错:SyntaxError: Invalid or unexpected token(含非法数字 8)
⚠️ 注意:0755 这种“前导零”写法在非严格模式下可能被部分浏览器当作八进制(但行为不一致),在严格模式下直接报错。应彻底弃用,只用 0o 形式。
十六进制字面量:用 0x 或 0X 开头
前缀区分大小写不敏感,后跟数字 0–9 和字母 a–f(或 A–F),至少一位。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
let hex1 = 0xFF;→ 十进制 255 -
let hex2 = 0xff;→ 同样是 255 -
let hex3 = 0X1aB;→ 十进制 427 -
let hex4 = 0xG1;→ 报错(G不在合法字符范围内)
二进制字面量:用 0b 或 0B 开头
这是 ES6 新增特性,前缀后只能出现 0 或 1。
-
let bin1 = 0b1010;→ 十进制 10 -
let bin2 = 0B11111111;→ 十进制 255 -
let bin3 = 0b102;→ 报错(含非法数字2)
所有进制字面量都自动转为十进制参与运算
无论你写的是 0b11、0o13 还是 0xFF,JavaScript 内部一律按十进制数值处理:
-
0b11 + 0o13→3 + 11→ 结果是14 -
typeof 0xFF→"number"(不是字符串,也不是特殊类型)
如需查看某数的其他进制表示,可用 .toString(radix) 方法,例如 (255).toString(2) 返回 "11111111"。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










