◆
JavaScript Math 对象属性与方法详解
math
- 该对象不是构造函数,不能生成实例,所有的属性和方法都必须在
Math对象上调用。 Math是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。Math适用于Number类型。它不支持BigInt。- 与其他全局对象不同的是,
Math不是一个构造器。Math的所有属性与方法都是静态的。
Math 的静态属性
Math.E属性表示自然对数的底数(或称为基数),e,约等于2.718。(2.718281828459045)Math.LN10属性表示10的自然对数,约为2.302Math.LN2属性表示2的自然对数,约为0.693Math.LOG10E属性表示以10为底数,e的对数,约为0.434Math.LOG2E属性表示以2为底数,e的对数,约为 1.442Math.PI表示一个圆的周长与直径的比例,约为3.14159Math.SQRT1_2属性表示1/2的平方根,约为0.707Math.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

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