003. es6数值的扩展

1、普通扩展javascript

  1.  Number 方法,将字符串、数值转为十进制 : Number('0b111')
  2.  Number.isFinite() 用来检查一个数值是否为有限的:Number.isFinite(15)
  3.  Number.isNan() 用来检查一个值是否为NaN
  4.  Number.parseInt() 
  5.  Number.parseFloadt()
  6.  Number.isInteger() 用来判断一个数值是否为整数
  7.  Number.EPSILON , ES6 新增的一个极小的常量,它表示 1与大于 1 的最小浮点数之间的差。Number.EPSILON 的实质是一个能够接受的最小偏差范围
  8.  Number.isSafeInteger() 。JavaScript 可以准确表示的整数范围在 -2^53 到 2^53之间(不含两个端点)。分别使用 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 表示。Number.isSafeInteger()则是用来判断一个整数是否落在这个范围以内。

2、Math对象的扩展java

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

  •  Math.trunc() : Math.trunc 方法用于去除一个数的小数部分,返回整数部分。对于非数值, Math.trunc 内部先使用 Number 方法将其先转为数值,而后再去除小数部分。对于空值和没法获取整数的值,返回 NaN.
Math.trunc(4.1) // 4
Math.trunc(4.9) // 4
Math.trunc(-4.1) // -4

// 对于非数值,Math.trunc 内部使用 Number 方法将其先转为数值
Math.trunc('123.456') // 123
Math.trunc(true) // 1
Math.trunc(false) // 0

// 对于空值和没法截取整数的值,返回 NaN
Math.trunc(NaN) // NaN
Math.trunc('fo') // NaN
Math.trunc(); // NaN
  • 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(undefined)	// NaN
  • Math.cbrt() : 该方法用于计算一个数的立方根
Math.cbrt(-1)		// -1
 Math.cbrt(0)		// 0
 Math.cbrt(1)		// 1
 Math.cbrt(8)		// 2

 // 对于非数值,Math.cbrt 方法内部也是先使用 Number 方法将其转为数值
 Math.cbrt('8')		// 2
 Math.cbrt('hello')	// NaN
  • Math.clz32() : JavaScript 的整数使用 32 位二进制形式表示,Math.clz32 方法返回一个数的 32 位无符号整数形式有多少个前导0 。对于小数,该方法只考虑整数部分
  • Math.imul() : 该方法返回两个数以 32 位带符号整数形式相乘的结果,返回的也是一个 32 位的带符号整数
  • Math.fround() : 该方法返回一个数的32位单精度浮点数形式
  • Math.hypot() : 该方法返回全部参数的平方和的平方根
Math.hypot(3,4)		// 5
 Math.hypot(1,2,3)		// 3.741657386773941
 Math.hypot(0)			// 0
 Math.hypot(-3)			// 3
 Math.hypot(NaN)		// NaN

 // 若是参数不是数值,Math.hypot 方法会将其转为数值。只要有一个参数没法转为数值,就返回 NaN

3、其它code

一、ES6 新增的对数相关方法对象

1.1 Math.expml() : Math.expml(x) 返回 e^x - 1 ,即 Math.exp(x) - 1ip

1.2 Math.log1p() : Math.log1p(x) 方法返回 1+x 的天然对数,即 Math.log(1+x)。若是 x 小于 -1,返回 NaN字符串

1.3 Math.log10() : Math.log10(x) 方法返回以 10 为底的 x 的对数。若是 x 小于 0,则返回 NaN数学

1.4 Math.log2() : Math.log2(x) 方法返回以 2 为底的 x 的对数。若是 x 小于 0,则返回 NaNit

二、双曲函数方法class

Math.sinh(x)、Math.cosh(x)、Math.tanh(x)、Math.asinh(x)、Math.acosh(x)、Math.atanh(x)

三、指数运算符

ES2016 新增了一个指数运算符 (**)

2 ** 2    // 4
2 ** 3    // 8
相关文章
相关标签/搜索