Math.数学公式合集()
WARNING
以下方法除特殊说明,不传入参数或者传入一个不能转换成数字的参数均返回 NaN, 当然尽量不要这么做。
Math.exp()
语法
exp(x: number): number;
描述
返回以 $e$ 为底的 x 次幂,即计算 $e^x$.
示例
Math.exp(-1) // 0.36787944117144233
Math.log()
语法
log(x: number): number;
描述
返回一个数的自然对数,即计算 $lnx$.
真数为负数时返回 NaN
真数为 0 时返回 -Infinity
示例
Math.log(-1) // NaN
Math.log(0) // -Infinity
Math.log(1) // 0
Math.log(10) // 2.302585092994046
下面的函数返回以 x 为底 y 的对数,即计算 $log_x^y$.
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x)
}
// IEEE-754 精度问题
getBaseLog(10, 1000) // 2.9999999999999996
Math.log10()
语法
log10(x: number): number;
描述
返回一个数字以 10 为底的对数,即计算 $log_{10}^x$
示例
Math.log10(1) // 0
Math.log10(100) // 2
Math.log1p()
语法
log1p(x: number): number;
描述
返回一个数字加 1 后的自然对数,即计算 $ln(x + 1)$.
示例
Math.log1p(Math.E - 1) // 1
Math.log1p(Math.pow(Math.E, 2) - 1) // 2.1269280110429722
Math.log2()
语法
log2(x: number): number;
描述
返回一个数字以 2 为底的对数,即计算 $log_2^x$.
示例
Math.log2(1024) // 10
Math.log2(1) // 0
Math.sqrt()
语法
sqrt(x: number): number;
描述
返回一个数字的平方根,即计算 $\sqrt{x}$.
示例
Math.sqrt(1) // 1
Math.sqrt(0) // 0
Math.sqrt(-1) // NaN
Math.sqrt(1024) // 32
Math.cbrt()
语法
cbrt(x: number): number;
描述
返回任意数字的立方根,即计算 $\sqrt[3]{x}$.
示例
Math.cbrt(1) // 1
Math.cbrt(0) // 0
Math.cbrt(-1) // -1
Math.cbrt(512) // 8
Math.pow()
语法
pow(x: number, y: number): number;
描述
返回 x 的 y 次幂,即计算 $x^y$,不传入参数或只传入一个参数均返回 NaN
示例
Math.pow(2, 4) // 16
Math.pow() // NaN
Math.pow(2) // NaN
Math.hypot()
语法
hypot(...values: number[]): number;
描述
返回所有参数的平方和的平方根,即计算 $\sqrt{\sum\limits_{i=1}^{n} v_i^2} = \sqrt{x_1^2 + x_2^2 + ... + x_n^2}$
当不传入参数时返回 0 (特例)
可以传入一个负数,因为平方时被转换成了正数
示例
Math.hypot(3, -4) // 5
Math.hypot() // 0
Math.expm1()
语法
expm1(x: number): number;
描述
返回 $e^x - 1$,其中 x 是传入的参数。
示例
Math.expm1(0) // 0
Math.expm1(1) // 1.718281828459045