1. 基本概念
Math.tanh()方法返回一个数的双曲正切,就像正切是正弦除以余弦一样,双曲正切也是双曲正弦除以双曲余弦的结果。
我们已知双曲正弦的公式是sinh(x) = (e^x - e^-x) / 2,双曲余弦的公式是cosh(x) = (e^x + e^-x) / 2,因此双曲正切的计算公式就是tanh(x) = sinh(x) / cosh(x) = (e^x - e^-x) / (e^x + e^-x)。这些公式中的e^x是e的x次方而e^-x是e的-x次方,并且e是自然常数,它的值约等于2.718281828459045。
当我们需要计算双曲正切时,就以如下所示的语法调用Math.tanh()方法:
Math.tanh(x);
该方法的参数x应该是一个数字,即它属于Number类型。否则,它会先被自动转换为Number类型。
JavaScript的Number类型除了普通数字之外,还包含5个特殊数字,它们是NaN、+0、-0、正无穷(+Infinity)和负无穷(-Infinity)。因此当Math.tanh()方法的参数是这些特殊数字时,需要额外注意。总的来说,JavaScript按照如下几条规则决定Math.tanh()方法的返回值;如果参数x不是数字,那么这些规则中提到的x的值指的是它被转换为数字后的值。
1. 如果x是NaN,那么返回值是NaN;
2. 如果x是+0,那么返回值是+0;
3. 如果x是-0,那么返回值是-0;
4. 如果x是正无穷(+Infinity),那么返回值是+1;
5. 如果x是负无穷(-Infinity),那么返回值是-1;
6. 其余情况下,x是一个普通数字,那么就按照双曲正切的公式计算返回值。
以上这些规则理解起来都很简单,因为它们的本质都是对双曲正切计算公式的运用,只是当参数x为特殊数字时,对返回值有一点附加的要求而已。
2. 示例
我们以不同的参数来调用Math.tanh()方法,并显示它们各自的返回值,以下示例代码的执行结果如图1所示。
图1 示例代码的执行结果
(完)
热门跟贴