美文网首页
ES6入门标准读书笔记5(数值的扩展)

ES6入门标准读书笔记5(数值的扩展)

作者: Masami_9e88 | 来源:发表于2018-07-18 13:51 被阅读0次

新增Number.isFinite(), Number.isNaN(),Number.parseInt(), Number.parseFloat()

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

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

7.Math 对象的扩展

ES6 在 Math 对象上新增了 17 个与数学相关的方法。所有这些方法都是静态方法,只能在 Math 对象上调用。

Math.trunc()

Math.trunc方法用于去除一个数的小数部分,返回整数部分。

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

对于非数值,Math.trunc内部使用Number方法将其先转为数值。

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

对于空值和无法截取整数的值,返回NaN。

Math.trunc(NaN);      // NaN
Math.trunc('foo');    // NaN
Math.trunc();        // NaN
Math.trunc(undefined) // NaN

对于没有部署这个方法的环境,可以用下面的代码模拟。

Math.trunc = Math.trunc || function(x) {
  return x < 0 ? Math.ceil(x) : Math.floor(x);
};

Math.sign() § ⇧

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

如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回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

对于没有部署这个方法的环境,可以用下面的代码模拟。

Math.sign = Math.sign || function(x) {
  x = +x; // convert to a number
  if (x === 0 || isNaN(x)) {
    return x;
  }
  return x > 0 ? 1 : -1;
};

相关文章

  • ES6入门标准读书笔记5(数值的扩展)

    新增Number.isFinite(), Number.isNaN(),Number.parseInt(), Nu...

  • ES6标准入门 摘要 (数值的扩展)

    数值的扩展 Number.isFinite(), Number.isNaN() ES6 在Number对象上,新提...

  • ES6扩展归纳

    ES6扩展归纳 介绍ES6相比与ES5在原有对象上的扩展,包括字符串、正则、数值、函数、数组、对象等扩展,本文是阮...

  • ES6之数值扩展

    ES6对数值的扩展,说是扩展,但是更像是对ES5中的数值的一个方法的添加和补充,其变化远没有字符串的扩展变化...

  • ES6入门 ___ 数值的扩展

    一、二进制 和 八进制 表示法 ES6 提供了 二进制 和 八进制 数值的新写法,分别用前缀0b(或 0B) 和 ...

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • ES6语法的归纳

    本文介绍ES6常用扩展。 竟然在图书馆借到了想买的ES6入门标准,省下一顿多伦多。[捂脸].jpg 一,变量声明扩...

  • javaScript文章目录

    javaScript标准参考教程 ES6入门

  • es6数值扩展

    1. 二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)...

  • ES6数值扩展

    阮一峰大神的ES6数值篇已经写的很好很全,下边贴出链接,然后斗胆写一点自己学习的总结。阮一峰ES6数值扩展我准备从...

网友评论

      本文标题:ES6入门标准读书笔记5(数值的扩展)

      本文链接:https://www.haomeiwen.com/subject/poyopftx.html