1. 基本概念
Math.atan()方法用于计算一个数的反正切值,调用它的语法形式如下:
Math.atan(x);
根据反正切的定义,该方法的参数x是某个角的正切值,而Math.atan()方法返回的正是这个角,当然返回值是该角的弧度值而非角度值。同时也可知x是一个数字,即它属于Number类型;如果不是,那么它会先被自动转换为Number类型。
图1 正切函数tan(x)的图像
图1展示了正切函数tan(x)的函数图像,从图中可知tan(x)的值域是(-∞, +∞),因此反正切函数atan(x)的定义域为(-∞, +∞)。还可知,tan(x)是一个周期函数,即一个正切值可以对应多个角,那么Math.atan()方法返回的到底是哪一个角呢?
对此JavaScript作了明确的规定,Math.atan()方法返回的是属于[-π/2, π/2]之间的角,即图1中最中间的那个周期所包含的角。
相比于其它编程语言,JavaScript的Number类型比较特殊,这主要是它包含NaN、+0、-0、正无穷(+Infinity)和负无穷(-Infinity)这几个特殊数字。当Math.atan()方法的参数x是这些特殊数字时,需要额外引起注意。结果就是,JavaScript按照以下规则来决定Math.atan()方法的返回值。
1. 如果x是NaN,那么返回值是NaN;
2. 如果x是+0,那么返回值是+0;
3. 如果x是-0,那么返回值是-0;
4. 如果x是正无穷(+Infinity),那么返回值是π/2;
5. 如果x是负无穷(-Infinity),那么返回值是-π/2;
6. 其余情况下,x是普通数字,返回值是正切等于x的角的弧度值。
如果你传递的参数x不是数字,那么以上这些规则中提到的x的值代表的是它被转换为数字后的值。对于规则4和5,从严格的数学意义上来说,反正切函数atan(x)的值不能包含π/2和-π/2。但JavaScript这样规定也有它的道理,那就是当x趋近于正无穷和负无穷时,atan(x)是趋近于π/2和-π/2的。
2. 示例
为了展示Math.atan()方法的作用,我们用多种参数来调用它,以下代码的执行结果如图2所示。
图2 示例代码的执行结果
(完)
领取专属 10元无门槛券
私享最新 技术干货