ES6 数值扩展
2024-08-25 21:35:03
1、Number.isNan 和 Number.isFinite
Number.isNaN()
用来检查一个值是否为NaN
Number.isNaN(NaN) // true
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false
Number.isFinite()
用来检查一个数值是否为有限的(finite)
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
ES5的2个方法,isFinite和isNaN,原理是先调用Number()
将非数值的值转为数值,再进行判断。
ES6的2个方法为只对数值有效,Number.isFinite()
对于非数值一律返回false
, Number.isNaN()
只有对于NaN
才返回true
,非NaN
一律返回false
。
总之:ES6更加严谨了。
2、Number.parseInt(), Number.parseFloat()
ES6 将全局方法parseInt()
和parseFloat()
,移植到Number
对象上面,行为完全保持不变。
3、Number.isInteger
Number.isInteger()
用来判断一个值是否为整数。需要注意的是,在 JavaScript 内部,整数和浮点数是同样的储存方法,所以 3 和 3.0 被视为同一个值。
4、Math.trunc
Math.trunc
方法用于去除一个数的小数部分,返回整数部分。
Math.trunc(4.1) //
Math.trunc(4.9) //
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0
对于参数为非数字,trunc方法会使用内部Number方法先将其转为数字再截取整数部分。
Math.trunc('3.2') //
5、正数、负数、零判断
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(NaN) // NaN
最新文章
- C# 全角和半角转换以及判断的简单代码
- github for window的代理设置方法
- Swift开发第十二篇——protocol组合&;static和class
- Python基础-day2
- ajax读取XML文本(如读取城市)
- 【HDU】4089 Activation
- c语言 如何判断是不是 可显字符
- IIS 404.17 错误解决方案
- MySQL EER反向建表
- response 返回 带双引号 的字符串解决办法 springmvc
- 169. Majority Element(C++)
- Spark源码阅读之存储体系--存储体系概述与shuffle服务
- MySQL数据库存储过程动态表建立(PREPARE)
- Lintcode397 Longest Increasing Continuous Subsequence solution 题解
- windows下安装和使用scrapy
- python [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
- ExtJS中listener方法和handler方法的区别
- 一、Java多人博客系统-开篇
- oracle11gR2 手工创建基于asm存储的oracle实例
- 转 jeecg3.5中多数据源的配置
热门文章
- BZOJ 4873 寿司餐厅(最大权闭合图 网络流)
- Nginx反代,后端一个IP绑定多个SSL证书,导致连接失败之解决方法:HTTPS和SNI扩展
- 用Pandas获取商品期货价格并可视化
- 【C++】函数缺省参数的作用
- 子查询在INSERT语句中的应用
- JZYZOJ1530 [haoi2013]开关控制 状压 dfs 折半搜索
- 【计算几何】【推导】【补集转化】AtCoder Regular Contest 082 E - ConvexScore
- python3-开发进阶Django-form组件中model form组件
- java笔记之面向对象
- Cloud Foundry中vmc tunnel与caldecott原理