美文网首页
数值的扩展

数值的扩展

作者: 陶六六 | 来源:发表于2018-08-20 17:52 被阅读0次

    数值的扩展

    1. 数值表示
      • 二进制:0b1111,0B1111
      • 八进制: 0o17,0O17
      • 十进制: 15
      • 十六进制: 0xf,OxF
    2. Number新增静态方法/数值判断方法不进行类型转换
      • Number.isFinite()
      • Number.isNaN()
      • Number.isInteger()
      • Number.isSafeInteger()
      • Number.parseInt()
      • Number.parseFloat()
    3. Number新增静态属性
      • Number.EPSILON //js能表示的最小正数常量
      • Number.MAX_SAFE_INTEGER //js能表示的最大整数
      • Number.MIN_SAFE_INTEGER //js能表示的最小整数
    4. Math/Math方法当入参不是数值类型时先进行类型转换
      • Math.trunc()//正数Math.floor(),负数Math.ceil()
      • Math.sign() // 1,-1,0,-0,NaN
      • Math.cbrt(x) // (x<0?-1:1)*Math.pow(Math.abs(x),1/3)
      • Math.clz32() 32位二进制数前导零个数
            Math.clz32(NaN) // 32
            Math.clz32(Infinity) // 32
        
      • Math.imul(a,b) // (a*b)|0
      • Math.fround() //双精度转单精度,超出单精度表示范围的值被截取
      • Math.hypot() //所有参数的平方和的平方根
      • 对数方式
        • Math.log() lnx
        • Math.expm1() e^x-1
        • Math.log1p() ln(1+x)
        • Math.log10() lgx
        • Marg.log2() log_2x
      • 双曲函数
        • Math.sinh()
        • Math.cosh()
        • Math.tanh()
        • Math.asinh()
        • Math.acosh()
        • Math.atanh()
    5. 指数运算符Math.pow(a,b) === a**b

    tip

    1. Number静态方法与对应普通方法
      • Number静态在进行判断时不进行类型转换,对于非数值类型直接返回false
        • Number.isNaN() 和isNaN()
              //Number.isNaN不进行数值转换,直接判断是否为NaN
              //isNaN 非数值转成数值,无法转换变成NaN,NaN使isNaN返回true
              isNaN('a') // true
              isNaN(1) // false
              isNaN('1') // false
              isNaN([]) // false
              isNaN({}) // true
              isNaN(null) // false
              isNaN(undefined) // true
              isNaN(true) // false
              isNaN(false) // false
          
        • Number.isFinite()和isFinite()
              //Number.isFinite不进行数值转换,直接判断非数值就是false
              //isFinite 非数值转成数值,无法转换变成NaN,NaN,Infinity,-Infinity 使得 isFinite返回false
              isFinite('a') // false
              isFinite(1) // true
              isFinite('1') // true
              isFinite([]) // true
              isFinite({}) // false
              isFinite(null) // true
              isFinite(undefined) // false
              isFinite(true) // true
              isFinite(false) // true
              isFinite(Infinity) // false
              isFinite(-Infinity) // false
              isFinite(NaN) // false
          

    相关文章

      网友评论

          本文标题:数值的扩展

          本文链接:https://www.haomeiwen.com/subject/dggliftx.html