ES6中Math对象的部分扩展

1、Math.trunc()

该方法用于取出一个小数的小数部分,返回整数部分。看例子吧:

Math.trunc(1.234);   //1
Math.trunc(-2.34141);   //-2
Math.trunc(3.9);   //3
//对于非数值,Math.trunc会内部使用Number将其转为数值
Math.trunc("12.87656");   //12
//对于空值和无法截取整数的值,返回NaN
Math.trunc("a");   //NaN
Math.trunc();   //NaN
Math.trunc(NaN);   //NaN

2、Math.sign()

该方法用来判断一个数到底是正数,负数,还是0。有五中返回值。看下面例子吧:

Math.sign(23.235);   //1
Math.sign(25);   //1
Math.sign(0);   //0
Math.sign(0.0);   //0
Math.sign(-0.0);   //-0
Math.sign(-0);   //-0
Math.sign(-2);   //-1
Math.sign(-2.983958);   //-1
Math.sign('a');   //NaN
Math.sign();   //NaN
Math.sign(NaN);   //NaN

参数为正数时,返回1;

参数为0时,返回0;

参数为-0时,返回-0;

参数为负数时,返回-1;

参数为其他值时,返回NaN。

3、Math.cbrt()

该方法用于计算一个数的立方根,等同于Math.pow(n,1/3)方法。

Math.cbrt(8);   //2
Math.cbrt(-64);   //-4
//对于非数值,该方法内部也是先使用Number方法将其转化为数值,再进行计算
Math.cbrt("125");   //5
Math.cbrt("a");   //NaN

4、Math.hypot()

该方法用于计算所有参数平方和的平方根。

Math.hypot(3,4);     //5
Math.hypot(1,2,3);   //3.741657386773941
Math.hypot(-5);   //5
Math.hypot();   //0
Math.hypot(NaN);   //NaN
Math.hypot("a");   //NaN
Math.hypot(3,'4');   //5
Math.hypot(3,'a');   //NaN

以上几种方法均可以大大的简化代码,很方便。

原文地址:https://www.cnblogs.com/mmkan/p/6419393.html