Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Number

1.静态方法

可以直接通过 Number.方法名 调用,故为静态方法

  • .isInteger()

    • 判断是否为 Number 类型,且是整数
      Number.isInteger(数字);
      
      • 【例子】
        Number.isInteger(25); // true
        Number.isInteger(25.0); // true
        Number.isInteger(25.1); // false
        
  • isNaN()

    • 判断是否是数字,直接调用,以前是 window 下的全局函数
      isNaN(数字);
      
      • 对于 ES6,Number 对象补充了这个函数,更可靠
        Number.isNaN(数字);
        
  • parseInt()

    • 把字符串按指定进制转换成数字,可无需 Number 前缀直接调用,因为以前是 window 下的全局函数
      parseInt(字符串[, 解析的进制标准])
      
      • 这里进制标准可从 2 到 36 不等
        • 默认 10 进制
        • 如果字符串不可在该进制下解析,则返回 0
          console.log(parseInt("0200", 2)); //2进制下,无法解析2,因此输出0
          
      • 对于 ES6,Number 对象补充了这个函数
        Number.parseInt(字符串);
        
  • parseFloat()

    • 把字符串转换成浮点数,可无需 Number 前缀直接调用,因为以前是 window 下的全局函数
      parseFloat(字符串);
      
      • 对于 ES6,Number 对象补充了这个函数
        Number.parseFloat(字符串);
        

2. 原型方法

是通过Number.prototype.方法名挂载上去的,故为原型方法

需要用过数字变量.方法名来调用

  • .toFixed(n)

    • 将数字四舍五入,保留 n 位小数,不传参默认 n 为 0
      数字变量.toFixed(n);
      //等价于 Number.prototype.toFixed.call(数字变量);
      
  • .toPrecision(n)

    • 将数字舍弃或补全到指定长度 n,会考虑科学计数法
      数字变量.toPrecision(n);
      //Number.prototype.toPrecision.call(数字变量);
      
  • .toString(n)

    • 将数字转换为字符串,其中 n 要求输出 n 进制结果,多用作十进制转其他进制打印
      数字变量.toString(n);
      //Number.prototype.toString.call(数字变量);
      
    • 如果是其他进制字符串转十进制,就要使用 ParseInt,其中 n 代表以 n 进制解析输入
      parseInt(字符串变量, n);
      

3. 常量属性

  • Number.EPSILON

    • 两个可表示(representable)数之间的最小间隔
    • 常用于浮点数相等的判断,只要两浮点数相减后的绝对值(用 Math.abs())小于这个数,代表相等
  • Number.MAX_VALUE

    • 能表示的最大正数。最小的负数是 -MAX_VALUE
  • Number.MIN_VALUE

    • 能表示的最小正数即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE
  • Number.MAX_SAFE_INTEGER

    • JavaScript 中最大的安全整数 2^53^ - 1
  • Number.MIN_SAFE_INTEGER

    • JavaScript 中最小的安全整数 -(2^53^ - 1)
  • 没有 32 位整型的最大和最小值,但有极限值 Infinity 和-Infinity 可使用