• ES6(四) --- 正则 Number Math


    想学vue了  重启ES6的学习之路

    在ES5 中正则的构造器  RegExp  不支持第二个参数

    ES6 做了调整   第二个参数表示正则表达式的修饰符(flag)

    var regex = new RegExp('xyz', 'i');    
    

      

    对字符串调整

      字符串可以使用以下四种正则方法:

        match() 、replace() 、 search() 、 split()   

    其实没事么神奇的就是样其实 就是让其调用 RegExp 的实例方法

    • String.prototype.match 调用 RegExp.prototype[Symbol.match]
    • String.prototype.replace 调用 RegExp.prototype[Symbol.replace]
    • String.prototype.search 调用 RegExp.prototype[Symbol.search]
    • String.prototype.split 调用 RegExp.prototype[Symbol.split]

    new RegExp().flags     获得正则表达式的修饰符

    new RegExp().source   获取表达式的正文

    习惯ES5的人 其实 .test()     .exec() 方法加上以上差不多 就够用了   不用纠结那么多  ---雨中伞的个人见解  不喜勿喷

    还有好多在 ES7 中提出了草案  但是没通过的  对开发来说也是不错的 

    我只把我感觉在我开发中有用的东西写一下

    Number 扩展

      Number.isFinite()   检查数字是有限   只有正常的数字才返回true     无论是Boolean  String  还有无限数(InFinite)  NaN   都返回false 

      Number.isNaN()   检查是否是 NaN    只有NaN的时候返回true     

    以前Number 中也有这两方法  为啥要在这里说明呢?

    注意:  之前的这两个方法 都是先调用Number() 方法转换成数字后在进行判断  编程的人需要时刻注意着隐式转换的问题   

        而重新实现的这两个方法 只要不是数字类型的就会返回false

      parseInt()  parseFloat()  用法一样 就是把这两个方法转移到Number对象上了 -----据说为了减少全局变量  逐渐模块化     

     Math对象

     Math.trunc()  去除小数点部分  返回整数部分

      Math.sign(num) ; 

      •   参数为正数,返回+1;
      •   参数为负数,返回-1;
      •   参数为0,返回0;
      •   参数为-0,返回-0;
      •   其他值,返回NaN。

      Math.cbrt(-2)  方法用于计算一个数的立方根。

    //如果没有  也可以自己实现
    Math.cbrt = Math.cbrt || function(x) { var y = Math.pow(Math.abs(x), 1/3); return x < 0 ? -y : y; };

      Math.hypot()方法返回所有参数的平方和的平方根。

      Math.fround()方法返回一个数的单精度浮点数形式

    ES6还新增了对数的方法

      Math.expm1(x)返回ex - 1,即Math.exp(x) - 1

      Math.log1p(x)方法返回1 + x的自然对数,即Math.log(1 + x)。如果x小于-1,返回NaN

      Math.log10(x)返回以10为底的x的对数。如果x小于0,则返回NaN。

      Math.log2(x)返回以2为底的x的对数。如果x小于0,则返回NaN。

    三角函数方法

      ES6新增了6个三角函数方法。

      •   Math.sinh(x) 返回x的双曲正弦(hyperbolic sine)
      •   Math.cosh(x) 返回x的双曲余弦(hyperbolic cosine)
      •   Math.tanh(x) 返回x的双曲正切(hyperbolic tangent)
      •   Math.asinh(x) 返回x的反双曲正弦(inverse hyperbolic sine)
      •   Math.acosh(x) 返回x的反双曲余弦(inverse hyperbolic cosine)
      •   Math.atanh(x) 返回x的反双曲正切(inverse hyperbolic tangent)
  • 相关阅读:
    cat userlist
    002 webpack基础 webpack配置
    003 webpack基础 webpack处理样式资源
    010Node事件循环
    001 webpack基础 简介
    001简介
    大数定律(Law of Large Numbers)
    Linux中nohup和&的用法和区别
    终于有人把ROS机器人操作系统讲明白了
    轻松使用 ffmpeg sdk 实现各种格式的rgb以及yuv raw data文件的转换
  • 原文地址:https://www.cnblogs.com/web-Rain/p/6255334.html
Copyright © 2020-2023  润新知