阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS Math.tanh()

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

      tanhx=sinhxcoshx=ex-e-xex+e-x=e2x-1e2x+1\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);
        }
      }
      
      

      规范

      规范状态?注释
      ECMAScript 2015 (6th Edition, ECMA-262)Math.tanhStandard初始定义
      ECMAScript Latest Draft (ECMA-262)Math.tanhDraft 

      参见

      目录
      目录