龙空技术网

JavaScript求幂:Math.expm1()方法详解

青石野草 35

前言:

今天姐妹们对“js幂”大体比较重视,各位老铁们都需要分析一些“js幂”的相关文章。那么小编也在网摘上收集了一些有关“js幂””的相关文章,希望咱们能喜欢,同学们快快来了解一下吧!

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所示。

<script>    /* 下面两个方法调用中,参数都是普通数字 */    var value1 = Math.expm1(1);    console.log("Math.expm1(1):");    console.log(value1);    var value2 = Math.expm1(-8);    console.log("\nMath.expm1(-8):");    console.log(value2);    /* 下面3个方法调用中的参数都是特殊数字 */    var value3 = Math.expm1(NaN);    console.log("\nMath.expm1(NaN):");    console.log(value3);    var value4 = Math.expm1(-0);    console.log("\nMath.expm1(-0):");    console.log(value4);    var value5 = Math.expm1(+Infinity);    console.log("\nMath.expm1(+Infinity):");    console.log(value5);    /*     * 布尔值true转换成数字为1,因此     * Math.expm1(true)等价于Math.expm1(1)     */    var value6 = Math.expm1(true);    console.log("\nMath.expm1(true):");    console.log(value6);</script>

图1 示例代码的执行结果

(完)

标签: #js幂 #js幂次方 #javascript幂运算