◆

JavaScript Math 对象属性与方法详解

2023-02-02 01:370

math

  • 该对象不是构造函数,不能生成实例,所有的属性和方法都必须在 Math 对象上调用。
  • Math 是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。
  • Math 适用于 Number 类型。它不支持 BigInt。
  • 与其他全局对象不同的是,Math 不是一个构造器。 Math 的所有属性与方法都是静态的。

Math 的静态属性

  • Math.E 属性表示自然对数的底数(或称为基数),e,约等于 2.718。(2.718281828459045)
  • Math.LN10 属性表示 10 的自然对数,约为 2.302
  • Math.LN2 属性表示 2 的自然对数,约为 0.693
  • Math.LOG10E 属性表示以 10 为底数,e 的对数,约为 0.434
  • Math.LOG2E 属性表示以 2 为底数,e 的对数,约为 1.442
  • Math.PI 表示一个圆的周长与直径的比例,约为 3.14159
  • Math.SQRT1_2 属性表示 1/2 的平方根,约为 0.707
  • Math.SQRT2 属性表示 2 的平方根,约为 1.414

Math 的静态方法

Math.abs(x)

  • 返回指定数字 “x“ 的绝对值。
  • 传入一个非数字形式的字符串或者 undefined/empty 变量,将返回 NaN。传入 null 将返回 0。
Math.abs('-1'); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs('123string'); // NaN
Math.abs(); // NaN
Math.abs(undefined); // NaN

Math.ceil()

返回大于或等于一个给定数字的最小整数。

Math.abs('-1.1'); // 1
Math.abs(2.1); // 3
Math.abs(null); // 0
Math.abs('string'); // NaN
Math.abs(); // NaN

Math.floor()

返回小于或等于一个给定数字的最大整数。

Math.floor(45.95); // 45
Math.floor(4); // 4
Math.floor(-45.05); // -46

Math.max()

  • 返回给定的一组数字中的最大值。如果给定的参数中至少有一个参数无法被转换成数字,则会返回 NaN。如果没有参数,则结果为 - Infinity。
Math.max(10, 20, 30); // 30
Math.max.call(null, 10, 20, 30); // 30
Math.max.apply(null, [10, 20, 30]); // 30
Math.max(10, 20, 30, 'test'); //NaN
Math.max(); // -Infinity

Math.min()

返回零个或更多个数值的最小值。

Math.min(10, 20, 30); // 10
Math.min.call(null, 10, 20, 30); // 10
Math.min.apply(null, [10, 20, 30]); // 10
Math.min(10, 20, 30, 'test'); // NaN
Math.min(); // Infinity

Math.pow()

返回基数(base)的指数(exponent)次幂

Math.pow(2, 3); // 2的三次方 = 8

Math.random()

返回一个浮点, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1)

Math.round() 函数返回一个数字四舍五入后最接近的整数。

Math.round(-21.49); // -21

Math.sign()

  • 返回一个数字的符号, 指示数字是正数,负数还是零。
  • 此函数共有 5 种返回值, 分别是 1, -1, 0, -0, NaN. 代表的各是正数, 负数, 正零, 负零, NaN。
  • 如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回 NaN。
Math.sign(3); //  1
Math.sign(-3); // -1
Math.sign('-3'); // -1
Math.sign(0); //  0
Math.sign(-0); // -0
Math.sign(NaN); // NaN
Math.sign('foo'); // NaN
Math.sign(); // NaN

Math.trunc()

将数字的小数部分去掉,只保留整数部分。传入该方法的参数会被隐式转换成数字类型,内部使用 Number 方法将其先转为数值。

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

Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(0.123); //  0
Math.trunc(-0.123); // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN); // NaN
Math.trunc('foo'); // NaN
Math.trunc(); // NaN

Math.sqrt()

返回一个数的平方根

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEJavaScript Math 对象属性与方法详解加载中