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)
ES6(四) --- 正则 Number Math的更多相关文章
- Java基础(四):Java Number & Math 类、Character 类、String 类、StringBuffer & StringBuilder 类
一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发 ...
- ES6—数值(Number,Math对象)(复习+学习)
ES6-数值(Number,Math对象)(复习+学习) 每天一学,今天要学习ES6的关于数的扩展以及复习,然后通过看书,查阅资料,以及webAPI来搞清楚遇到的,没见过的对象方法等等,下面为本次学习 ...
- ES6入门——正则的扩展
1.RegExp构造函数 在ES5中,RegExp构造函数的参数有两种情况.第一种情况是参数是字符串,这时第二个参数表示正则表达式的修饰符:第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表 ...
- ES6 String和Number扩展
一.String 扩展 ①传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中.ES6 又提供了三种新方法. includes():返回布尔值,表示是否 ...
- javascript_core之正则、Math、Date
javascript_core之正则.Math.Date 1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var re ...
- Java-Runoob:Java Number & Math 类
ylbtech-Java-Runoob:Java Number & Math 类 1.返回顶部 1. Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使 ...
- Number & Math
Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 实例 int a = 5000; floa ...
- Java 学习(6):java Number & Math & String & 数组...常用类型
目录 --- Number & Math类 --- Character 类 --- String 类 --- StringBuffer 类 --- 数组 Number & Math类: ...
- [常用类]Number & Math 类(转载)
下面的表中列出的是 Number & Math 类常用的一些方法: 序号 方法与描述 1 xxxValue() 将 Number 对象转换为xxx数据类型的值并返回. 2 compareTo( ...
随机推荐
- Ionic 常用插件
ionic扩展插件 1.ionic-timepicker 时间选择 https://github.com/rajeshwarpatlolla/ionic-timepicker 2.ionic-da ...
- C语言 指针小结
指针 -->指针变量 类型名 *变量名 int *point1; char *point2; 注意:*p可以直接使用,它代表指针p指向的变量,*p可以当做被指向的变量使用!~~~~ 一个变量的地 ...
- NetBeans无法使用编码GBK安全打开文件
刚才使用NetBeans打开php文件时,提示:NetBeans无法使用编码GBK安全地打开该路径下的文件. 找到了解决方案. 原文地址:http://qdjinxin.iteye.com/blog/ ...
- Tensorflow 变量的共享
https://github.com/chenghuige/tensorflow-exp/blob/master/examples/sparse-tensor-classification/ tens ...
- 【leetcode】Path Sum
题目简述: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding ...
- Winform窗体最大化的时候,如何指定窗体的位置、大小
一.重写窗体的SizeChanged事件不能改变窗体最大化的位置和大小. public partial class Form2 : Form { public Form2() { Initialize ...
- CozyRSS1.0 - 有可用性版本
bin:还是不提供了,有兴趣的加QQ群373862115讨论 src:https://github.com/zpublic/cozy/tree/a202ae0944936c1ca56c2c3f4b73 ...
- mac中显示隐藏文件
显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool ture 重新隐藏 defaults write com.apple.fi ...
- D3中selection之使用
1. 极为重要的reference: [1] How selections works. http://bost.ocks.org/mike/selection/ [2] Nested selecti ...
- 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】
本帖最后由 HOT米粒 于 2014-11-16 20:43 编辑 华为荣耀6 H60-L02/L12(联通版)救砖包[适用于无限重启]说明: 1.本工具包用于华为荣耀6 H60-L02(联通版): ...