非常教程

JavaScript参考手册

Math

Math.log2

Math.log2() 函数返回一个数字以 2 为底的对数.

∀x>0,Math.log2(x)=log2(x)=the uniqueysuch that2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique} \; y \; \text{such that} \; 2^y = x

语法

Math.log2(x)

参数

x一个数值。

返回值

给定数字的基数2的对数。如果数字是负数,则返回NaN

描述

如果传入的参数小于 0, 则返回 NaN.

因为log2()Math的一个静态方法,用作Math.log2(),而不是你创建的Math对象的方法(Math不是一个构造函数)。

这个函数相当于Math.log(x)/ Math.log(2)。对于log2(e)使用Math.LOG2E1 / 的常数Math.LN2

示例

使用Math.log2()

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

Polyfill

这个Polyfill模拟Math.log2功能。请注意,它在某些输入(比如1 << 29)上返回不精确的值,Math.round()如果使用位掩码,则换行。

Math.log2 = Math.log2 || function(x) {
  return Math.log(x) * Math.LOG2E;
};

规范

Specification

Status

Comment

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Math.log2' in that specification.

Standard

Initial definition.

ECMAScript Latest Draft (ECMA-262)The definition of 'Math.log2' in that specification.

Draft

浏览器兼容性

Feature

Chrome

Firefox

Edge

Internet Explorer

Opera

Safari

Basic Support

38

25

(Yes)

(No)

25

7.1

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

25

(No)

(Yes)

8

JavaScript

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络