首页 > 其他 > 详细

2021.04.24(数值的扩展)

时间:2021-04-24 16:29:55      阅读:18      评论:0      收藏:0      [点我收藏+]

Number.isFinite(), Number.isNaN()

ES6 在 Number  对象上,新提供了 Number.isFinite()  和 Number.isNaN()  两个方法。
Number.isFinite()  用来检查一个数值是否为有限的(finite),即不是 Infinity  。

1.  Number.isFinite(15); // true
2.  Number.isFinite(0.8); // true
3.  Number.isFinite(NaN); // false
4.  Number.isFinite(Infinity); // false
5.  Number.isFinite(-Infinity); // false
6.  Number.isFinite(‘foo‘); // false
7.  Number.isFinite(‘15‘); // false
8.  Number.isFinite(true); // false

注意,如果参数类型不是数值, Number.isFinite  一律返回 false  。


Number.isNaN()  用来检查一个值是否为 NaN  。

1.  Number.isNaN(NaN) // true
2.  Number.isNaN(15) // false
3.  Number.isNaN(‘15‘) // false
4.  Number.isNaN(true) // false
5.  Number.isNaN(9/NaN) // true
6.  Number.isNaN(‘true‘ / 0) // true
7.  Number.isNaN(‘true‘ / ‘true‘) // true

如果参数类型不是 NaN  , Number.isNaN  一律返回 false  。


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

1.  isFinite(25) // true
2.  isFinite("25") // true
3.  Number.isFinite(25) // true
4.  Number.isFinite("25") // false
5.
6.  isNaN(NaN) // true
7.  isNaN("NaN") // true
8.  Number.isNaN(NaN) // true
9.  Number.isNaN("NaN") // false
10.  Number.isNaN(1) // false

Number.parseInt(), Number.parseFloat()

ES6 将全局方法 parseInt()  和 parseFloat()  ,移植到 Number  对象上面,行为完全保持不
变。

1.  // ES5的写法
2.  parseInt(‘12.34‘) // 12
3.  parseFloat(‘123.45#‘) // 123.45
4.
5.  // ES6的写法
6.  Number.parseInt(‘12.34‘) // 12
7.  Number.parseFloat(‘123.45#‘) // 123.45

这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。

1.  Number.parseInt === parseInt // true
2.  Number.parseFloat === parseFloat // true

Number.isInteger()

Number.isInteger()  用来判断一个数值是否为整数。

1.  Number.isInteger(25) // true
2.  Number.isInteger(25.1) // false

JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。

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

如果参数不是数值, Number.isInteger  返回 false  。

1.  Number.isInteger() // false
2.  Number.isInteger(null) // false
3.  Number.isInteger(‘15‘) // false
4.  Number.isInteger(true) // false

 

2021-04-24 12:15:55

2021.04.24(数值的扩展)

原文:https://www.cnblogs.com/zhenggc99/p/14696601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!