1. 基本概念

Math.expm1()方法返回e^x - 1,其中e^x是e的x次方。x是传递给Math.expm1()方法的参数;而e是自然常数,它的值约等于2.718281828459045。

调用Math.expm1()方法的语法形式如下所示:

Math.expm1(x);

既然Math.expm1()方法的参数x代表指数,那么它就应该是一个数字,即它属于Number类型。如果不是,那么它会先被自动转换为数字。

为了更好地记忆Math.expm1()方法的作用,我们将它的名称分为三部分,分别是:exp、m和1。首先exp是单词“exponent”的缩写,而“exponent”的含义就是“指数”,这暗示Math.expm1()首先要进行幂运算,其中底数为e而指数x就是该方法的参数。m是单词“minus”的首字母,表示减法;1就是数字1。

因此Math.expm1()方法的名字就说明了它的作用,那就是先进行幂运算再将该中间结果减去1;即Math.expm1(x)等于Math.exp(x) - 1。

2. 返回值规则

JavaScript的Number类型的一个特殊之处就在于它包含几个特殊数字,分别是:NaN、+0、-0、正无穷(+Infinity)和负无穷(-Infinity)。当Math.expm1()方法的参数x是这些特殊数字时,可能需要额外引起注意。概括起来,JavaScript按照如下这些规则来决定Math.expm1()方法的返回值。

1. 如果x是NaN,那么返回值是NaN;

2. 如果x是+0,那么返回值是+0;

3. 如果x是-0,那么返回值是-0;

4. 如果x是正无穷(+Infinity),那么返回值是正无穷;

5. 如果x是负无穷(-Infinity),那么返回值是-1;

6. 其余情况下,x是一普通数字,那么返回值就是e^x - 1。

结合Math.expm1()等于e^x - 1,可以很好地理解以上这些规则。如果你传递的x不是数字的话,那么这些规则中提到的x的值指的是x被转换为数字后的值。

3. 示例

总的来说,Math.expm1()方法很好理解;因此我们只举几个简单的例子就行了。以下示例代码的执行结果如图1所示。

图1 示例代码的执行结果

(完)