ECMAScript6-数值的扩展

数值的扩展

上期我们讲解了运算符相关的内容,这期我们讲解数值的相关扩展。



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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script>
    console.log(0b10100);//20
    console.log(0b101);//5
  </script>
</body>
</html>

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

  • ES6 在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个⽅法
  • Number.isFinite()⽤来检查⼀个数值是否为有限的(finite),即不是Infinity。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script>
    //注意,如果参数类型不是数值,Number.isFinite⼀律返回false。
    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
  </script>
</body>
</html>
  • Number.isNaN()⽤来检查⼀个值是否为NaN。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script>
    //如果参数类型不是NaN,Number.isNaN⼀律返回false。
    Number.isNaN(NaN) // true
    Number.isNaN(15) // false
    Number.isNaN('15') // false
    Number.isNaN(true) // false
    Number.isNaN(9/NaN) // true
    Number.isNaN('true' / 0) // true
    Number.isNaN('true' / 'true') // true
  </script>
</body>
</html>

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

  • ES6 将全局⽅法parseInt()和parseFloat(),移植到Number对象上⾯,⾏为完全保持不变。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script>
    // ES5的写法
    parseInt('12.34') // 12
    parseFloat('123.45#') // 123.45
    // ES6的写法
    Number.parseInt('12.34') // 12
    Number.parseFloat('123.45#') // 123.45
  </script>
</body>
</html>
  • 这样做的⽬的,是逐步减少全局性⽅法,使得语⾔逐步模块化。
Number.parseInt === parseInt // true
Number.parseFloat === parseFloat // true

4、Number.isInteger()

  • Number.isInteger()⽤来判断⼀个数值是否为整数。
Number.isInteger(25) // true
Number.isInteger(25.1) // false

5、Math 对象的扩展

  • ES6 在 Math 对象上新增了 17 个与数学相关的⽅法。所有这些⽅法都是静态⽅法,只能在 Math 对象上调⽤。
  • 具体详⻅⼿册

总结

本文讲解了对数值的扩展相关的内容,下一期我们讲解函数的扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值