Math.asinh()

Math.asinh() 返回一个数值的反双曲正弦值,即:

Math.asinh ( x ) = arsinh ( x ) = the unique y such that sinh ( y ) = x \mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{ the unique } ; y ; \text{such that} ; \sinh(y) = x

尝试一下

语法

Math.asinh(x)

参数

x

一个数值。

返回值

返回指定数值的反双曲正弦值。

描述

由于 asinh()Math 的静态方法,所以应该像这样使用:Math.asinh(),而不是作为你创建的 Math 实例的方法(Math 不是一个构造函数)。

示例

使用 Math.asinh()

js

Math.asinh(1); // 0.881373587019543
Math.asinh(0); // 0

Polyfill

As a quick and dirty hack the expression arsinh ( x ) = ln ( x + x 2 + 1 ) \operatorname {arsinh} (x) = \ln \left(x + \sqrt{x^{2} + 1} \right) may be used directly for a coarse emulation by the following function:

js

Math.asinh =
  Math.asinh ||
  function (x) {
    if (x === -Infinity) {
      return x;
    } else {
      return Math.log(x + Math.sqrt(x * x + 1));
    }
  };

Been formally correct it suffers from a number of issues related to floating point computations. Accurate result requires special handling of positive/negative, small/large arguments as it done e.g. in glibc or GNU Scientific Library.

规范

Specification
ECMAScript Language Specification
# sec-math.asinh

浏览器兼容性

BCD tables only load in the browser

参见