es6数值的扩展

12 篇文章 0 订阅
3 篇文章 0 订阅

1、二进制和八进制的表示方法
es6提供了二进制和八进制的表示方法,分别用前缀ob(二进制)和0o(八进制)表示
将二进制或者八进制转换为十进制可以调用number方法
2、number.isNaN() 和number.isFinite()
前者用来判断一个数字是否为nan,后者用来判断一个数字是否有限
3、parseInt()和parsefloat()
es6将全局的parseInt()和parsefloat()移植到了number对象上,行为完全保持不变。
// ES5的写法

parseInt('12.34') // 12
parseFloat('123.45#') // 123.45

// ES6的写法

Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。
4、number.isinteger()
number.isinteger()方法用来判断一个数字是否为整数。
js的内部整数和浮点数采用的同样的储存方法,所以1.0和1视为一个值。
如果传入的参数不是一个数字会返回false
js内部采取IEEE 754标准,数值存储为64位双精度格式,数值精度为53个二进制位 (即2的53次方)小数点后15位有效,如果数值超过这个长度,54位以后的会被丢弃,这时isinteger()可能会误判
如果一个数值的绝对值小于5E-324(js可以识别的最小值)会被自动的转为0,isinteger()可能会误判。
5、math.trunc()
去除一个数的小数部分,直接去掉 不考虑向上取整和向下取整

Math.trunc(4.1)		 // 4
Math.trunc(-4.1)		 // -4
Math.trunc(-0.1234)	 // -0

对于非数值的情况,会内部调用number方法将其转为数值

Math.trunc('123.456') // 123
Math.trunc(true) //1
Math.trunc(false) // 0
Math.trunc(null) // 0

6、math.sign()
用来判读一个数是正数还是负数、还是0,对于非数值的参数会调用number方法转为数值,他会返回五个值分别为:
参数为正数,返回+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
Math.sign('')  // 0
Math.sign(true)  // +1
Math.sign(false)  // 0
Math.sign(null)  // 0
Math.sign('9')  // +1
Math.sign('foo')  // NaN
Math.sign()  // NaN
Math.sign(undefined)  // NaN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值