js实现tan
实现 Math.tan() 的 JavaScript 方法
在 JavaScript 中,计算正切函数(tan)可以直接使用内置的 Math.tan() 方法。该方法接受一个以弧度为单位的角度值,返回该角度的正切值。
基本语法
Math.tan(x)
- 参数:
x是以弧度表示的数值。 - 返回值:
x的正切值。
示例代码
计算 45 度角的正切值:
const radians = 45 * Math.PI / 180; // 将角度转换为弧度
const tanValue = Math.tan(radians);
console.log(tanValue); // 输出近似值 0.9999999999999999
注意事项
- 如果
x是非数值类型,JavaScript 会尝试将其转换为数值。转换失败时返回NaN。 - 对于某些特殊角度(如 90 度),由于浮点数精度限制,结果可能接近理论值而非精确值。例如:
const radians90 = 90 * Math.PI / 180; console.log(Math.tan(radians90)); // 输出一个非常大的数(理论应为无穷大)
自定义实现(泰勒级数近似)
如果需要手动实现正切函数,可以使用泰勒级数展开(适用于小角度近似):
function customTan(x) {
// 泰勒级数展开(sin(x)/cos(x)的近似)
return Math.sin(x) / Math.cos(x);
}
// 示例使用
console.log(customTan(Math.PI / 4)); // 输出近似值 0.9999999999999999
注意:此方法依赖 Math.sin() 和 Math.cos(),实际项目中建议直接使用 Math.tan()。
角度与弧度转换
若需处理角度输入,需先转换为弧度:
function degreesToRadians(degrees) {
return degrees * Math.PI / 180;
}
const angle = 30;
const tan30 = Math.tan(degreesToRadians(angle));
console.log(tan30); // 输出近似值 0.5773502691896257
边界情况处理
- 输入为
Infinity或-Infinity时,返回NaN。 - 输入为
NaN时,返回NaN。







