1. 基本概念
Math.log()方法用于求一个数的自然对数,自然对数就是以自然常数e为底的对数,在数学上常简单表示为ln(x)。它的语法形式如下所示:
Math.log(x);
参数x就是要计算它的自然对数的那个数,即Math.log(x) = ln(x)。因此参数x应该是一个数字,即x的类型应该为Number。如果你传递的x不是Number类型的,那么它会被自动转换为Number类型。
由高中数学知识,我们可知自然对数函数的定义域为(0,+∞),值域为(-∞,+∞);它的函数图像如图1所示。
图1 自然对数的函数图像
对照该函数图像,就很容易理解Math.log()方法是如何根据参数x的值而返回不同的结果的。具体来说,该方法的返回值由以下规则决定;如果x原本不是数字,那么这些规则中提到的x的值指的是它被转换为数字后的值。
1. 如果x是NaN,那么结果也是NaN;
2. 如果x小于0,那么结果也是NaN;
3. 如果x是零(包括+0和-0),那么结果是负无穷(-Infinity);
4. 如果x是正无穷(+Infinity),那么结果也是正无穷(+Infinity);
5. 其余情况下,x就是区间(0,+∞)中的一个数;因此结果就是x的自然对数,即ln(x)。
注意,当x为1的时候,结果是+0,这是因为JavaScript要区分+0和-0。且+0和+Infinity通常直接显示为0和Infinity,而不显示前面的正号。
2. 示例
本示例将展示传递不同的参数时,Math.log()方法的返回值;它的执行结果如图2所示。
图2 Math.log()方法的执行结果
(完)