ES6温习 - Number & Math
1、Number —— isFinite、isNAN
Number.isFinite(参数) 返回值是 Boolean 类型。其作用是来判断参数是否是有限数值。如果参数是非数值类型,则返回值统一是 false。
Number.isNAN(参数) 返回值是 Boolean 类型。用来判断参数是都是NAN。若不是NAN,统一返回false。
与全局的 isFinite 和 isNAN 比较,全局的 isFinite 和 isNAN 会将参数的值转化为 Number 类型,然后再进行判断。Number 中的 isFinite 和 isNAN 则是直接比较参数,不对参数进行操作。若不是 Number 类型的话,统一会返回 false。
num = 12 numStr = "12" isFinite(numStr); // true isFinite(num); // true Number.isFinite(num); // true Number.isFinite(numStr); // false
2、Number —— parseInt、parseFloat
两个函数与全局的功能一样。Number.parseInt() 是将参数转化为整型;Number.parseFloat() 则是将参数转换成浮点型。
3、Number —— isInteger
Number 对象中的一个方法,作用是判断参数是否是整数。
如果参数是 非数值类型,则 isInteger 会返回 false。
整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。 若数值是64位双精度格式,1 个隐藏位与 52 个有效位,超过53位,其他位则被忽略,例如:3.0000000000000002,这种情况因为舍弃位不在 isFinite的判断范围,因此可能造成误判。
Number.isFinite(123) // true
Number.isFinite(123.0) // true
Number.isFinite(123.4) // true
Number.isFinite("123") // false
Number.isFinite(null) // false
Number.isFinite(-0) // true
Number.isFinite(-12) // true
3.0000000000000002 // 3
Number.isFinite(3.0000000000000002) // true
4、Math —— sign
用来判断参数的正负值。返回值有五种 1、-1、0、-0。 对于无法转为数值的值,会返回NaN。
Math.sign() // NaN
Math.sign(123) // 1
Math.sign(-123) // -1
Math.sign(0) // 0
Math.sign(-0) // -0
Math.sign("123") // 1
Math.sign("qwe") // NaN
Math.sign(null) // 0
Math.sign(true) // 1
Math.sign(false) // 0
5、Math —— trunc
用来去掉参数中的小数部分, 返回参数的整数部分。函数会将参数转化成 Number 类型,若无法转换,则返回 NaN。
Math.trunc("123.432") // 123
Math.trunc("-123.432") // -123
Math.trunc(123.432) // 123
Math.trunc(-123.432) // -123
Math.trunc(true) //1
Math.trunc(false) // 0
Math.trunc(null) // 0
6、Math —— cbrt 求参数的立方根。函数可将参数转换成 Number 类型,然后进行计算。
7、Math —— ** 指数就算
2 ** 4 // 16 1 ** 4 // 1 5 ** 0 // 1 5 ** 2 **2 // 625

浙公网安备 33010602011771号