Javascript三角函数相关表达式给了我一个意外的结果

Javascript三角函数相关表达式给了我一个意外的结果,javascript,math,trigonometry,Javascript,Math,Trigonometry,我有这样的表达: (0.8733 * (Math.atan((0.375 ^ 1.75) * -2.1855))) + 1) 我期望的结果是0.673183。Wolfram alpha在复制并粘贴方程式时做对了(用arctan替换Math.atan) 但是Javascript给了我这个结果: 0.002977558258926538 上数学课已经有一段时间了,但我相信有不同的方式来表达结果,所以我可能在期望另一种方式的时候从Javascript中得到了一种?或者可能有其他问题,但我不确定如何

我有这样的表达:

(0.8733 * (Math.atan((0.375 ^ 1.75) * -2.1855))) + 1)
我期望的结果是
0.673183
。Wolfram alpha在复制并粘贴方程式时做对了(用arctan替换Math.atan)

但是Javascript给了我这个结果:

0.002977558258926538
上数学课已经有一段时间了,但我相信有不同的方式来表达结果,所以我可能在期望另一种方式的时候从Javascript中得到了一种?或者可能有其他问题,但我不确定如何调试它


我需要采取哪些不同的措施才能获得预期的结果?最后,我想用变量替换其中的两个数字(0.375和1.75)来得到这条直线上的结果,但由于这个意外的结果,我的表达式没有模仿图形。

在Javascript中使用
^
-运算符,它不是幂(即
Math.pow
),而是二进制
异或
-运算符。我想这不是你想要的。试一试

(0.8733 * (Math.atan(Math.pow(0.375, 1.75) * -2.1855))) + 1)

奇怪的是,它不会因为尝试异或两个双精度运算而产生
NaN
:)完全正确!非常感谢。为了子孙后代,我更新了这个问题的标题,以更好地反映实际问题。@杰克:在javascript中,当应用于按位运算符时,数字会转换为(32位)整数。
(0.8733 * (Math.atan(Math.pow(0.375, 1.75) * -2.1855))) + 1)