Math.log2()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Math.log2() 静态方法返回一个数字的以 2 为底的对数。即:

x>0,𝙼𝚊𝚝𝚑.𝚕𝚘𝚐𝟸(𝚡)=log2(x)=唯一y使得2y=x\forall x > 0,\;\mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{唯一满足 } 2^y = x \text{ 的 } y

试一试

console.log(Math.log2(3));
// Expected output: 1.584962500721156

console.log(Math.log2(2));
// Expected output: 1

console.log(Math.log2(1));
// Expected output: 0

console.log(Math.log2(0));
// Expected output: -Infinity

语法

js
Math.log2(x)

参数

x

大于或等于 0 的数字。

返回值

x 的以 2 为底的对数。如果 x < 0,则返回 NaN

描述

因为 log2()Math 的一个静态方法,所以你总是使用 Math.log2() 来调用它,而不是作为你创建的 Math 对象的某个方法来调用(Math 不是一个构造函数)。

此函数等同于 Math.log(x) / Math.log(2)。对于 log2(e),请使用常量 Math.LOG2E,它等于 1 / Math.LN2

示例

使用 Math.log2()

js
Math.log2(-2); // NaN
Math.log2(-0); // -Infinity
Math.log2(0); // -Infinity
Math.log2(1); // 0
Math.log2(2); // 1
Math.log2(3); // 1.584962500721156
Math.log2(1024); // 10
Math.log2(Infinity); // Infinity

规范

规范
ECMAScript® 2026 语言规范
# sec-math.log2

浏览器兼容性

另见