Math.tan()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Math.tan() 静态方法返回一个数字(以弧度为单位)的正切值。

试一试

function getTanFromDegrees(degrees) {
  return Math.tan((degrees * Math.PI) / 180);
}

console.log(getTanFromDegrees(0));
// Expected output: 0

console.log(getTanFromDegrees(45));
// Expected output: 0.9999999999999999

console.log(getTanFromDegrees(90));
// Expected output: 16331239353195370

语法

js
Math.tan(x)

参数

x

一个代表以弧度为单位的角度的数字。

返回值

x 的正切值。如果 xInfinity-InfinityNaN,则返回 NaN

注意: 由于浮点数的精度问题,无法获得 π/2 的精确值,因此在结果不是 NaN 的情况下,其值始终是有限的。

描述

由于 tan()Math 的静态方法,您始终通过 Math.tan() 来调用它,而不是通过您创建的 Math 对象的方法(Math 不是构造函数)。

示例

使用 Math.tan()

js
Math.tan(-Infinity); // NaN
Math.tan(-0); // -0
Math.tan(0); // 0
Math.tan(1); // 1.5574077246549023
Math.tan(Math.PI / 4); // 0.9999999999999999 (Floating point error)
Math.tan(Infinity); // NaN

Math.tan() 和 π/2

无法精确计算 tan(π/2)

js
Math.tan(Math.PI / 2); // 16331239353195370
Math.tan(Math.PI / 2 + Number.EPSILON); // -6218431163823738

使用 Math.tan() 处理角度值

由于 Math.tan() 函数接受弧度值,但通常使用角度值会更方便,因此下面的函数接受一个角度值,将其转换为弧度,然后返回其正切值。

js
function getTanDeg(deg) {
  const rad = (deg * Math.PI) / 180;
  return Math.tan(rad);
}

规范

规范
ECMAScript® 2026 语言规范
# sec-math.tan

浏览器兼容性

另见