Skip to content

Latest commit

 

History

History
64 lines (56 loc) · 2.19 KB

07数值的扩展.md

File metadata and controls

64 lines (56 loc) · 2.19 KB

数值的扩展

1.二进制和八进制

  • 十进制:没有前导0的数值。
  • 八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
  • 十六进制:有前缀0x或0X的数值。
  • 二进制:有前缀0b或0B的数值
0b111 // 7
0o10 // 8
0xf // 15

// 转十进制
Number(0b111)
Number(0o10)
Number(0xf)

2.Number属性和方法

属性:

  • Number.EPSILON:最小精度,即Math.pow(2, -52)。表示能够接受的误差范围
  • Number.MAX_SAFE_INTEGER:上限,即Math.pow(2, 53) - 1
  • Number.MIN_SAFE_INTEGER:下限,即1 - Math.pow(2, 53)

方法:

  • Number.parseInt():转为整数
  • Number.parseFloat():转为浮点数
  • Number.isFinite():是否有限
    1. 非number:false
  • Number.isNaN():是否NaN
    1. 非number:false
  • Number.isInteger():是否整数
    1. 非number:false
    2. 超精度会误判
  • Number.isSafeInteger:整数是否在上限下限之间

3.Math方法

  • Math.trunc():去除一个数的小数部分,返回整数部分
  • Math.sign():判断一个数到底是正数、负数、还是零
    • 正数:+1
    • 负数:-1
    • 0:0
    • -0:-0
    • 其他值:NaN
  • Math.cbrt():计算一个数的立方根
  • Math.clz32():将参数转为 32 位无符号整数的形式(clz:count leading zero: 32 位值里面有多少个前导 0)
  • Math.imul():返回两个数以 32 位带符号整数形式相乘的结果
  • Math.fround():返回一个数的32位单精度浮点数形式。
  • Math.hypot():返回所有参数的平方和的平方根

对数:

  • Math.expm1():返回ex - 1Math.exp(x) - 1
  • Math.log1p():返回1 + x的自然对数,即Math.log(1 + x)
  • Math.log10():返回以 10 为底的x的对数
  • Math.log2():返回以 2 为底的x的对数

双曲函数方法 _ Math.sinh(x) 返回x的双曲正弦(hyperbolic sine) _ Math.cosh(x) 返回x的双曲余弦(hyperbolic cosine) _ Math.tanh(x) 返回x的双曲正切(hyperbolic tangent) _ Math.asinh(x) 返回x的反双曲正弦(inverse hyperbolic sine) _ Math.acosh(x) 返回x的反双曲余弦(inverse hyperbolic cosine) _ Math.atanh(x) 返回x的反双曲正切(inverse hyperbolic tangent)