Math
Math 命名空间对象包含数学常量和函数的静态属性和方法。
Math 与 Number 型配合使用。它不适用于 BigInt。
与大多数全局对象不同,Math 不是构造函数。你不能将其与 new 运算符 一起使用或将 Math 对象作为函数调用。Math 的所有属性和方法都是静态的。
1.属性
Math.E
欧拉数和自然对数的底;大约 2.718。
Math.LN10
10 的自然对数;大约 2.303。
Math.LN2
2 的自然对数;大约 0.693。
Math.LOG10E
E 的以 10 为底的对数;大约 0.434。
Math.LOG2E
E 的以 2 为底的对数;大约 1.443。
Math.PI
圆的周长与其直径的比率;大约 3.14159。
Math.SQRT1_2
1/2 的平方根;大约 0.707。
Math.SQRT2
2 的平方根;大约 1.414。
Math[Symbol.toStringTag]
[Symbol.toStringTag] 属性的初始值为字符串 "Math"。该属性在 Object.prototype.toString() 中使用。
2.Math对象的方法
Math.abs()
返回输入的绝对值。
Math.acos()
返回输入的反余弦。
Math.acosh()
返回输入的双曲反余弦。
Math.asin()
返回输入的反正弦。
Math.asinh()
返回数字的双曲反正弦。
Math.atan()
返回输入的反正切。
Math.atan2()
返回其参数商的反正切值。
Math.atanh()
返回输入的双曲反正切。
Math.cbrt()
返回输入的立方根。
Math.ceil()
返回大于或等于输入的最小整数。
Math.clz32()
返回 32 位整数输入的前导零位数。
Math.cos()
返回输入的余弦。
Math.cosh()
返回输入的双曲余弦。
Math.exp()
返回 ex,其中 x 是参数,e 是欧拉数(2.718…,自然对数的底数)。
Math.expm1()
返回从 exp(x) 减去 1。
Math.floor()
返回小于或等于输入的最大整数。
Math.f16round()
返回输入的最接近的 半精度 浮点表示。
Math.fround()
返回输入的最接近的 单精度 浮点表示。
Math.hypot()
返回其参数平方和的平方根。
Math.imul()
返回输入的 32 位整数乘法的结果。
Math.log()
返回输入的自然对数(㏒e;也称为㏑)。
Math.log10()
返回输入的以 10 为底的对数。
Math.log1p()
返回数字 x 的 1 + x 的自然对数(㏒e;也为㏑)。
Math.log2()
返回输入的以 2 为底的对数。
Math.max()
返回零个或多个数字中最大的一个。
Math.min()
返回零个或多个数字中的最小值。
Math.pow()
返回底数 x 的指数幂 y(即 xy)。
Math.random()
返回 0 和 1 之间的伪随机数。
Math.round()
返回输入四舍五入到最接近的整数的值。
Math.sign()
返回输入的符号,表示它是正数、负数还是零。
Math.sin()
返回输入的正弦值。
Math.sinh()
返回输入的双曲正弦。
Math.sqrt()
返回输入的正平方根。
Math.tan()
返回输入的正切值。
Math.tanh()
返回输入的双曲正切。
Math.trunc()
返回输入的整数部分,删除任何小数位。
3.常用技巧
自定义区间的随机数公式:
/**
*
* @param {number} min 随机数范围的最小值
* @param {number} max 随机数范围的最大值
* @returns {number} 返回min~max范围内随机数
*/
const getRandom = (min, max) => {
return Math.floor(Math.random() * (max - min + 1) + min);
};生成随机颜色
// 随机rgb值
function rgb(){
let r = Math.floor(Math.random()*256);
let g = Math.floor(Math.random()*256);
let b = Math.floor(Math.random()*256);
let rgb = 'rgb('+r+','+g+','+b+')';
return rgb;
}
//随机16进制颜色
function color16(){
let r = Math.floor(Math.random()*256);
let g = Math.floor(Math.random()*256);
let b = Math.floor(Math.random()*256);
let color = '#'+r.toString(16)+g.toString(16)+b.toString(16);
return color;
}生成mock测试图片
https://dummyimage.com/200x100/FF6600随机测试图片
https://picsum.photos/400/600?r=1