You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JS Math对象计算数学公式出现NaN问题,求排查解决

问题分析与修复

你的代码返回NaN的核心问题是**Math.pow(2)调用错误**——Math.pow()方法需要两个参数:第一个是底数,第二个是指数,只传一个参数会导致该方法返回NaN,后续所有依赖这个值的计算都会变成NaN。

错误点拆解

  • Math.pow(2):缺少第二个参数(指数),不符合API要求,返回NaN
  • 当Math.cos(NaN)执行时,结果也是NaN,后续和z相乘、加上其他值的运算都会保留NaN

修复方案

假设你是想计算「2的平方」(即2²),则需要改为Math.pow(2, 2);如果是想计算其他数值的平方(比如变量x的平方),则改为Math.pow(x, 2)。以下是修正后的示例代码:

let
  z = 5
, x = 10
, y = 2
// 假设这里是计算2的平方,改为Math.pow(2, 2)
, b = Math.cos(Math.pow(2, 2)) * z + Math.tan(2 * x) + Math.abs(y)
  ;
console.log(b); // 现在会输出有效数值

补充说明:Math.tan(2 * x)中2*x是20弧度,Math.tan(20)是有效数值,Math.abs(y)也没问题,核心问题仅在Math.pow的参数缺失。

内容的提问来源于stack exchange,提问作者CometZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 16:50:36