js 实现tan
在 JavaScript 中,可以使用 Math.tan() 函数来计算一个数的正切值(tan)。以下是具体实现方法和注意事项:
使用 Math.tan()
Math.tan() 是 JavaScript 内置的数学函数,接收一个以弧度为单位的角度值,返回该角度的正切值。

const angleInRadians = Math.PI / 4; // 45度转换为弧度
const tanValue = Math.tan(angleInRadians);
console.log(tanValue); // 输出: 0.9999999999999999 (近似1)
角度与弧度转换
如果输入是角度而非弧度,需先转换为弧度。转换公式为: [ \text{弧度} = \frac{\text{角度} \times \pi}{180} ]

function degreesToRadians(degrees) {
return degrees * Math.PI / 180;
}
const angleInDegrees = 45;
const tanValue = Math.tan(degreesToRadians(angleInDegrees));
console.log(tanValue); // 输出: 0.9999999999999999
边界情况处理
Math.tan() 在接近 (\frac{\pi}{2} + k\pi)(如90度、270度)时会返回极大值或 Infinity,需注意处理。
const verticalAngle = degreesToRadians(90);
const tanValue = Math.tan(verticalAngle);
console.log(tanValue); // 输出: 16331239353195370 (理论应为Infinity)
自定义实现(泰勒级数展开)
如果需要手动实现正切函数,可以通过泰勒级数展开近似计算。正切的泰勒展开较为复杂,通常结合 Math.sin() 和 Math.cos() 实现:
function customTan(radians) {
return Math.sin(radians) / Math.cos(radians);
}
console.log(customTan(Math.PI / 4)); // 输出: 0.9999999999999999
注意事项
- 精度问题:浮点数计算可能导致微小误差,如 (\tan(\pi/4)) 理论值为1,实际输出接近1。
- 性能:直接使用
Math.tan()比手动实现更高效。
以上方法覆盖了 JavaScript 中计算正切值的常见需求,可根据实际场景选择。






