ES6在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法,用来检查Infinite和NaN这两个特殊值。
Number.isFinite(15); // true Number.isFinite(0.8); // true Number.isFinite(NaN); // false Number.isFinite(Infinity); // false Number.isFinite(-Infinity); // false Number.isFinite("foo"); // false Number.isFinite("15"); // false Number.isFinite(true); // false
检查是否为有限的数。
Number.isNaN(NaN); // true Number.isNaN(15); // false Number.isNaN("15"); // false Number.isNaN(true); // false
检查是否为NaN
Number.isInteger()用来判断一个值是否为整数。需要注意的是,在JavaScript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。
Number.isInteger(25) // true Number.isInteger(25.0) // true Number.isInteger(25.1) // false Number.isInteger("15") // false Number.isInteger(true) // false
Math对象新增的方法,都是静态方法,只能在Math对象上调用。
Math.trunc():去除一个数的小数部分,返回整数部分。 Math.trunc(4.1) // 4 Math.trunc(-4.1) // -4 注意:对于空值和无法截取整数的值,返回NaN。 Math.sign():判断一个数到底是正数、负数、还是零。 返回五种值:参数为正数,返回+1;参数为负数,返回-1;参数为0,返回0;参数为-0,返回-0;其他值,返回NaN。 Math.sign(-5) // -1 Math.sign(5) // +1 Math.sign(0) // +0 Math.sign(-0) // -0 Math.sign(‘hubwiz‘); // NaN Math.cbrt:计算一个数的立方根。 Math.cbrt(-1); // -1 Math.cbrt(0); // 0 Math.cbrt(2); // 1.2599210498948732 Math.fround:返回一个数的单精度浮点数形式。 Math.fround(0); // 0 Math.fround(1.337); // 1.3370000123977661 Math.fround(NaN); // NaN Math.hypot:返回所有参数的平方和的平方根。 Math.hypot(3, 4); // 5 Math.hypot(3, 4, 5); // 7.0710678118654755 Math.hypot(); // 0 Math.hypot(NaN); // NaN Math.hypot(3, 4, ‘foo‘); // NaN Math.hypot(3, 4, ‘5‘); // 7.0710678118654755 Math.hypot(-3); // 3 如果参数不是数值,Math.hypot方法会将其转为数值。只要有一个参数无法转为数值,就会返回NaN。
时间: 2024-12-16 02:50:09