--- title: Math.asinh() slug: Web/JavaScript/Reference/Global_Objects/Math/asinh translation_of: Web/JavaScript/Reference/Global_Objects/Math/asinh ---
{{JSRef}}

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

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

{{EmbedInteractiveExample("pages/js/math-asinh.html")}}

语法

Math.asinh(x)

参数

x
一个数值.

返回值

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

描述

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

示例

    使用 Math.asinh()

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

Polyfill

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

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
{{SpecName('ESDraft', '#sec-math.asinh', 'Math.asinh')}}

浏览器兼容性

{{Compat("javascript.builtins.Math.asinh")}}

相关链接