javascript 中,数值类型属于原始类型。 除了我们所知道的以十进制表示的普通数值外,还可以用 0x
表示 十六进制整数, 0b
表示二进制整数, 0O
表示八进制整数
0xa //对应十进制 10
0b101 //对应十进制 5
0o22 //对应十进制 18
在javascript,0可以当作除数,返回值是无穷大。这点和其它语言有很大的区别。例如python中0是不可以作为除数的。
1/0 // Infinity
Infinity
表示无穷大数值
但是 0/0 得到的结果是 NaN
, NaN
也是一个数值类型,它是一个特数的数值,表示它不是一个“数值”的数值。
将一个非数字字符串转换为数值类型时,返回的也是NaN
, 例如 praseInt('a')
可以用Number.isNaN
或者全局函数isNaN
判断某个值是不是 NaN
Number.isNaN(2) //false
Number.isNaN('a') // true
Number.isNan('2') //false
数值是一种原始类型,同样有与之对应的包装对象Number, Number 类提供了很多方法,包括上面所说的isNaN
。
n = new Number(10)
n.valueOf() === 10 //true
包装类定义的对象n对应的值 与 原始类型值 10 完全相等的。
关注公众号「Python之禅」,回复「1024」免费获取Python资源