ES6-第七天

Math 对象的扩展

  1. Math.trunc
    Math.trunc方法用于去除一个数的小数部分,返回整数部分
	Math.trunc(5.1) // 5
	Math.trunc(5.9) // 5
	Math.trunc(-5.1) // -5
	Math.trunc(-5.9) // -5
	Math.trunc(-0.12) // -0

Math.trunc内部使用Number方法将其先转为数值

	Math.trunc('123.456') // 123
	Math.trunc(true) //1
	Math.trunc(false) // 0
	Math.trunc(null) // 0

对于空值和无法截取整数的值,返回NaN

	Math.trunc(NaN);      // NaN
	Math.trunc('hhh');    // NaN
	Math.trunc();         // NaN
	Math.trunc(undefined) // NaN
  1. Math.sign()
    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(false)  // 0
	Math.sign(null)  // 0
	Math.sign('9')  // +1
	Math.sign('foo')  // NaN
	Math.sign()  // NaN
	Math.sign(undefined)  // NaN
  1. Math.cbrt()
    Math.cbrt()方法用于计算一个数的立方根。
	Math.cbrt(-1) // -1
	Math.cbrt(0)  // 0
	Math.cbrt(1)  // 1
	Math.cbrt(2)  // 1.2599210498948732

对于非数值,Math.cbrt()方法内部也是先使用Number()方法将其转为数值。

	Math.cbrt('8') // 2
	Math.cbrt('hello') // NaN
  1. Math.hypot()
    Math.hypot方法返回所有参数的平方和的平方根。
	//3 的平方加上 4 的平方,等于 5 的平方。如果参数不是数值,Math.hypot方法会将其转为数值。只要有一个参数无法转为数值,就会返回 NaN。
	Math.hypot(3, 4);        // 5
	Math.hypot(3, 4, 5);     // 7.0710678118654755
	Math.hypot();            // 0
	Math.hypot(NaN);         // NaN
	Math.hypot(3, 4, 'foo'); // NaN
	Math.hypot(3, 4, '5');   // 7.0710678118654755
	Math.hypot(-3);          // 3
发布了29 篇原创文章 · 获赞 3 · 访问量 855

猜你喜欢

转载自blog.csdn.net/qq_43756690/article/details/105655242