步遥——数值的扩展

数值新增方法:
1:Number.isFinite:判断参数是不是有限字符,即不是Infinity
如果参数类型不是数值,一律返回false

2:Number.isNaN:检查一个值是否为NaN
如果参数类型不是NaN,一律返回false

全局的isFinite()和isNaN()和新增方法不同的区别是,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,非数值一律返回false,非NaN才返回false

3:Number.parseInt,Number.parseFloat,跟全局的parseInt,parseFloat方法行为完全一致,目的是为了减少全局方法,使得语言逐步模块化

4:Numebr.isInteger:判断数值是否为整数
参数非数值,返回false

5:Number.EPSILON:极小的常量,表示1与大于1的最小浮点数之间的差
Math.pow(2,-52)
设置这个值的目的在于为浮点数计算,设置一个误差范围。

6:安全整数和Number.isSafeInteger
Number.MAX_SAFE_INTEGER 最大安全整数:9007199254740991
Number.MIN_SAFE_INTEGER 最小安全整数:-9007199254740991
Number.isSafeInteger表示检测一个整数是否落在这个范围之内

7:Math对象上扩展的静态方法,是为了数学计算

Math.trunc :取数的整数部分,去除小数部分,
非数值参数会先使用Number方法将其转为数值;
空值和无法截取整数的值,返回NaN;
相当于
负数时:取Math.ceil(返回大于或等于一个给定数字的最小整数)
正数时,取Math.floor(返回小于或等于一个给定数字的最大整数)

Math.sign:判断一个数到底是正数,负数,还是0
正数,返回+1
负数,返回-1
0,返回0
-0,返回-0
其他,返回NaN

参数非数值,则会自动转为数值,对于那些无法转为数值的值,返回NaN

Math.cbrt:开立方根,非数值先调用Number,转为数值,再将其转为数值

Math.clz32:将参数转为32位无符号整数的形式,然后返回32位值里面有多少个前导0
小数参数,只考虑整数部分,空值或其他类型,先转为整数,再计算

Math.imul:返回两个以32位带符号整数形式相乘的结果,返回的也是一个32位的带符号整数
Math.fround:返回一个数的32位单精度浮点数形式

Math.hypot:返回所有参数的平方和的平方根

对数方法:Math.expm1():e^x-1
Math.log1p:Math.log(1+x)
Math.log10:Math.log10(x)返回以10为底的x的对数
Math.log2:返回以2为底的x的对数

双曲线方法:
Math.sinh:双曲正弦
Math.cosh:双曲余弦
Math.tanh:双曲正切
Math.asinh:反双曲正弦
Math.acosh:反双曲余弦
Math.atanh:反双曲正切

指数运算符:
符号,规则右结合

2**3**2 === 2**(3**2)
a **= 2 //指数赋值结合运算符

BigInt数据类型:第8种数据类型 数字后带n

typeof 1n //'bigint'

你可能感兴趣的:(步遥——数值的扩展)