zoukankan      html  css  js  c++  java
  • ES6标准入门之数值的拓展解说

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

      0b111110111 === 503                    // true

      0o767 === 503                             // true

      如果要将使用0b、0o和0x前缀的字符串数值转化为十进制,要使用Number方法。

      ES6中对Number对象的拓展

      1、Number.isFinite()  //检查一个数值是否有限,返回true/false;

      2、Number.isNaN()  //检查一个值是否为NaN,返回true/false;

      3、Number.parseInt()  //将一个值转化为整数;

      4、Number.parseFloat()  //将一个值转化为浮点数;

      5、Number.isInteger()  //判断一个值对否为整数,返回true/false;

      6、Number.EPSILON  //新增一个极小的常量,2.220446049250313e-16

      7、安全整数和Number.isSafeInteger()

      JavaScript能够准确表示的整数范围在-2的53次幂到2的53次幂之间(不包含两个端点),超过这个范围就无法精确表示。ES6引入Number.MAX_SAFE_INTEGET = Math.pow(2, 53) - 1 表示安全范围的上限,引入Number.MIN_SAFE_INTEGER =  Math.pow(-2, 53) - 1表示安全范围的下限。Number.isSafeInteger()就是判断某个值是否在安全范围之内,与安全整数的两个边界值比较一下。

      ES6中对Math对象的拓展

      1、Math.trunc()  // 去除一个数的小数部分,返回整数部分;

      2、Math.sign()  //判断一个数到底是正数、负数还是0,

        其返回值有5中情况:

        1)、参数为正数,返回+1;

        2)、参数为负数,返回-1;

        3)、参数为0,返回0;

        4)、参数为-0;返回-0;

        5)、其他值,返回NaN;

      3、Math.cbrt()  //计算一个数的立方根;

      4、Math.clz32()  //JavaScript的整数使用32位二进制形式表示,返回一个数的32位无符号整数形式有多少个前导0;

      5、Math.imul()   //返回两个数以32位带符号整数形式想成的结果;

      6、Math.fround()   //返回一个数的单精度浮点数形式;

      7、Math.hypot()  // 返回所有参数平方和的平方根;

      8、对数方法

        1)、Math.expm1(x)   //返回e的x次幂减1,即Math.exp(x) - 1;

        2)、Math.log1p(x)   //返回ln(1+x),即Math.log(1+x);

        3)、Math.log10(x)   //返回以10为底的x的对数;

        4)、Math.log2(x)    //返回以2为底的x的对数;

      9、双曲函数方法

        1)、Math.sinh(x)  // 返回x的双曲正弦;

        2)、Math.cosh(x)  // 返回x的双曲余弦;

        1)、Math.tanh(x)  // 返回x的双曲正切;

        1)、Math.asinh(x)  // 返回x的反双曲正弦;

        1)、Math.acosh(x)  // 返回x的反双曲余弦;

        1)、Math.atanh(x)  // 返回x的反双曲正切;

      10、Math.signbit()  //判断一个值的正负,起返回值如下:

        1)、参数是NaN,返回false;

        2)、参数是-0,返回true;

        1)、参数是负数,返回true;

        1)、其他情况返回false;

      11、指数运算符(**)

        2 ** 2    // 4

      指数运算符和等号结合形成一个新的赋值运算符(**=) 

        let a = 2;

        a **= 2等同于a = a * a

  • 相关阅读:
    nsight system
    unity 拿到管线权限的解决方案
    Erlang cowboy 入门参考
    [Erlang]Mnesia分布式应用
    erlang浅谈
    erlang 中带下划线变量的使用
    erlang 符号相关基本语法
    Erlang与ActionScript3采用JSON格式进行Socket通讯
    Erlang游戏开发-协议
    Erlang之IO编程
  • 原文地址:https://www.cnblogs.com/hexiaobao/p/10216216.html
Copyright © 2011-2022 走看看