前台展示数值为Math.pow(2, 53),// 9007199254740992

  1. Math.pow(2, 1024) // Infinity
  2. Math.pow(2, -1075) // 0
  3. typeof NaN // 'number'
  4. Boolean(NaN) // false
  5. Infinity === -Infinity // false
  6. 1 / -0 // -Infinity
  7. -1 / -0 // Infinity

与数值相关的全局方法

parseInt方法用于将字符串转为整数。
如果parseInt的参数不是字符串,则会先转为字符串再转换。

  1. parseInt(1.23) // 1
  2. // 等同于
  3. parseInt('1.23') // 1

字符串转为整数的时候,是一个个字符依次转换,如果遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分。

  1. parseInt('8a') // 8
  2. parseInt('12**') // 12
  3. parseInt('12.34') // 12
  4. parseInt('15e2') // 15
  5. parseInt('15px') // 15

如果第一个字符不能转换为数字,就返回NAN

  1. parseInt('abc') // NaN
  2. parseInt('.3') // NaN
  3. parseInt('') // NaN
  4. parseInt('+') // NaN
  5. parseInt('+1') // 1

如果字符串以0x或0X开头,parseInt会将其按照十六进制数解析。

  1. parseInt('0x10') // 16

如果字符串以0开头,将其按照10进制解析。

  1. parseInt('011') // 11

parseFloat方法用于将一个字符串转为浮点数。
isNaN方法可以用来判断一个值是否为NaN。
isFinite方法返回一个布尔值,表示某个值是否为正常的数值。

  1. isFinite(Infinity) // false
  2. isFinite(-Infinity) // false
  3. isFinite(NaN) // false
  4. isFinite(undefined) // false
  5. isFinite(null) // true
  6. isFinite(-1) // true