Math.tanh()

Math.tanh() 函数将会返回一个数的双曲正切函数值,计算如下:

\tanh x =\frac{\sinh x}{\cosh x}= \frac{e^x - e^{-x}}{e^x + e^{-x}}= \frac{e^{2x}- 1}{e^{2x}+1}

语法

Math.tanh(x)

?参数

x
待计算的数字

返回值

所给数字的双曲正切值。

描述

因为tanh()是Math的一个静态方法,所以应该直接通过Math.tanh()来使用,而不是由用户先创建出Math对象再调用该方法。(Math不是一个构造器)。

示例

使用 Math.tanh()

Math.tanh(0);        // 0
Math.tanh(Infinity); // 1
Math.tanh(1);        // 0.7615941559557649

多种实现方式

tanh()可以通过 Math.exp() 函数来构拟:

Math.tanh = Math.tanh || function(x) {
  if (x === Infinity) {
    return 1;
  } else if (x === -Infinity) {
    return -1;
  } else {
    return (Math.exp(x) - Math.exp(-x)) / (Math.exp(x) + Math.exp(-x));
  }
}

或者只调用一次 Math.exp() :

Math.tanh = Math.tanh || function(x) {
  if (x === Infinity) {
    return 1;
  } else if (x === -Infinity) {
    return -1;
  } else {
    var y = Math.exp(2 * x);
    return (y - 1) / (y + 1);
  }
}

上篇: Math.cosh()

下篇: Math.atanh()