美文网首页
(四)数值的扩展

(四)数值的扩展

作者: 做最棒的 | 来源:发表于2018-08-24 09:57 被阅读0次

1、知识点回顾

// 解构
const { max, min } = Math;
const { isNaN, isFinite } = Number;
console.log(max(3,4,2));
console.log(min(3,4,2));
const abc = NaN;
console.log(isNaN(abc));
const isNAN = isNaN(abc)
if(isNAN) {
    console.log(!isNAN?'max':'min');
    console.log(Math[!isNAN?'max':'min'](...[12,34,11,22,44]));
}
console.log(max.apply(null,[12,34,11,22,44]));
console.log(max(...[12,34,11,22,44]));

2、二进制和八进制表示法

ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。

0b111110111 === 503 // true
0o767 === 503 // true
const num = 0b111110111;
console.log(num);

如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法。

Number('0b111')  // 7
Number('0o10')  // 8

2、Number.isFinite(), Number.isNaN()

提问
它们与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回false, Number.isNaN()只有对于NaN才返回true,非NaN一律返回false。

3、Number.parseInt(), Number.parseFloat()

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。
这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。

Number.parseInt === parseInt // true
Number.parseFloat === parseFloat // true

4、Number.isInteger()

Number.isInteger()用来判断一个数值是否为整数。
JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。

Number.isInteger(25) // true
Number.isInteger(25.0) // true

5、Number.EPSILON

提问

6、安全整数和 Number.isSafeInteger()

JavaScript 能够准确表示的整数范围在-253到253之间(不含两个端点),超过这个范围,无法精确表示这个值。

7、注意事项

console.log(isFinite()===Number.isFinite());
console.log(isInteger()===Number.isInteger());

全局方法和数值方法的异同
我们应该推荐哪种方法呢?

Number.
或者
const { isFinite, isInteger } = Number;

数学方法不讲

相关文章

  • (四)数值的扩展

    1、知识点回顾 2、二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0...

  • 数值扩展

    二进制与八进制数值表示法: 二进制用0b, 八进制用0o Number.isFinite(i) : 判断是否是有限...

  • 数值扩展

    1.二进制和八进制表示法 ES6 分别用 0b(0B) 和 0o(0O)表示二进制和八进制 使用Number方法,...

  • 数值扩展

    是否 “有尽 ” 是否是“整数”,参数为‘25’,输出false 还有 三角函数,对数。。。

  • 数值扩展

    Number.isFinite(), Number.isNaN() ES6在Number对象上,提供了Number...

  • 数值的扩展

    二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 ...

  • 数值的扩展

    数值的扩展 数值表示二进制:0b1111,0B1111八进制: 0o17,0O17十进制: 15十六进制: 0xf...

  • 数值的扩展

    二进制和八进制表达法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀 0b和 0o 表示。 从 ES5 开...

  • 数值的扩展

    ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 如果要将0b和0o前缀...

  • 数值的扩展

    数值的扩展 1.二进制和八进制表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或...

网友评论

      本文标题:(四)数值的扩展

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