js中的Math.sin()等一系列的函数的参数是什么?按什么规律计算?

JavaScript030

js中的Math.sin()等一系列的函数的参数是什么?按什么规律计算?,第1张

js的Math.sin()等三角函数的参数,是以弧度表示的角。

给定角度,需要换算成弧度才可以参与计算。两者之间的关系是:

弧度=角度数*Math.PI/180

因此,求45度角的sin()为:

Math.sin(45*Math.PI/180)

如果说规律:就是按照以弧度表示的三角函数的规律进行计算。

1、Math.sin() 的参数,必须是一个以弧度表示的角,角度数×Math.PI/180即为当前角度数的弧度值。30度角的sin()的写法为:Math.sin(30*Math.PI/180)

2、180度转换成弧度理论上等于Math.PI,但由于cpu在运算的时候,会进行近似处理,所以并不相等。

3、常规代数里,是等于0,但是cpu运算的时候,只是近似与0

4、因为程序处理浮点数的时候,每一次运算都会取一次近似值,所以最终的结果,总是近似值,而不是我们通过代数得出的结果。

综上,浮点数的运算,往往并不是我们期望的结果,可以通过Math.round() 函数来解决。

例如,对比下面的两个结果,你会看明白的:

document.write(Math.sin(Math.PI) + "<br />")

document.write(Math.round(Math.sin(Math.PI)*1000000)/1000000)

1.对2.对3.对4.计算机语言数值型数据都是二进制表达的,所以在进行浮点计算时候是很难精确的,Math.sin(Math.PI)是通过微积分计算公式计算出来的,会存在精度上面的误差结果是:1.2246063538223772e-16