es6学习之Number类型

一.es5的Number类型

1.Number 对象属性

constructor 返回对创建此对象的 Number 函数的引用。
MAX_VALUE 可表示的最大的数。
MIN_VALUE 可表示的最小的数。
NaN 非数字值。
NEGATIVE_INFINITY 负无穷大,溢出时返回该值。
POSITIVE_INFINITY 正无穷大,溢出时返回该值。
prototype 使您有能力向对象添加属性和方法。

2.Number 对象方法

toString 把数字转换为字符串,使用指定的基数。
toLocaleString 把数字转换为字符串,使用本地数字格式顺序。
toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。
toExponential 把对象的值转换为指数计数法。
toPrecision 把数字格式化为指定的长度。
valueOf 返回一个 Number 对象的基本数字值。

二.es6的Number类型

1.二进制和八进制的新的表示方法

二进制以’0b’或者’0B’开头
八进制以’0o’或者’0O’开头

0b111110111 === 503 // true
0o767 === 503 // true

二进制和八进制转化为十进制

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

2.Number对象新增的方法

(1).Number.isFinite(),检测一个数值是不是有限的,只有数字且是有限的才会返回true,否则一律是false

Number.isFinite(123);  // true
Number.isFinite("123");  // false
Number.isFinite("sd");  // false

(2).Number.isNaN(),检测一个数值是不是NaN,只有数字且是NaN的时候才会返回true,否则一律false

Number.isNaN(NaN);  //true
Number.isNaN(123);  //false

(3).Number.parseInt(),Number.parseFloat()将全局的parseInt和parseFloat移植到Number对象上,行为不变
(4)Number.isInteger(),判断数值是不是整数
由于JavaScript采用IEEE 754标准,JavaScript能表示的数值范围是-2^53到2^53,当范围超过,超出的部分会被舍弃.由此,Number.isInteger()函数会出现问题

// 3.0000000000000002达到了小数点后16个10进制位数,转换为2进制就超出了2^53,所以最后一个2被忽略了,仍然被认为是整数
Number.isInteger(3.0000000000000002) // true

(5)Number.EPSILON,是一个常量,表示1和大于1的最小浮点数的差

Number.EPSILON === Math.pow(2,-52);     // true

(6)Number.isSafeInteger(),判断一个整数是不是在常量Number.MIN_SAFE_INTEGER和Number.MAX_SAFE_INTEGER之间,包括2端

3.Math对象上新增 17 个与数学相关的方法

4.新增指数运算符

2 ** 2 // 4
2 ** 3 // 8

在 V8 引擎中,指数运算符与Math.pow的实现不相同,对于特别大的运算结果,两者会有细微的差异。

Math.pow(99, 99)
// 3.697296376497263e+197

99 ** 99
// 3.697296376497268e+197
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值