一般类型
作为弱类型语言,Javascript的数字表示方式很简单,只有一种,即加小数点和不加小数点。
let a = 520.1214 // 小数点
let b = 5201314 // 不加小数点
科学计数法
使用科学计数法时,可以用 {NUM} e {+|-} {POW} 表达
let a = 520e+1314 // 520*10^1314
let b = 123e-3210 // 123*10^(-3210)
八进制和十六进制
在Javascript中,0开头意味着特殊的数字(0E1234这种0开头表示科学计数法的除外),而八进制和十六进制的缩写分别为O和X。
let a = 0o123 // 八进制的123,等于十进制的83
let b = 0x123 // 十六进制的123, 等于十进制的291
特别的,因为0和O(或o)在一起时难以区分,JavaScript允许将o或O省略,即0开头,且无其他标记的数字会被认为是八进制。
let a = 0123 // 八进制的123,等于十进制的83
let b = 0o123 // 八进制的123, 同上。
在设计时需要将0开头的数字为八进制考虑进去,并防范好可能因此引起的数据库问题。