Math.log2的替代方案

Max*_*win 9 javascript math internet-explorer

所以我有这个使用Javascript Math.log2()功能的脚本.今天在IE 9中进行了测试,发现IE不支持log2.它只支持日志.

有谁知道我可以获得与log base 2相同的结果?我的代码示例如下:

var number = 16,
    exponent = Math.log2(number);

//Will return 4
return exponent;
Run Code Online (Sandbox Code Playgroud)

MBo*_*MBo 15

表达Math.log(number) / Math.log(2)相当于Math.log2(number)

http://www.mathwords.com/c/change_of_base_formula.htm


小智 8

如果Math.log2函数不存在,您可以创建一个函数:

Math.log2 = Math.log2 || function(x){return Math.log(x)*Math.LOG2E;};
Run Code Online (Sandbox Code Playgroud)