1. 基本概念
Math.cos()方法用于求一个角的余弦值。它的语法形式如下所示:
<code>Math.cos
(x);/<code>
参数x代表的是要计算余弦值的角的弧度值,而不是角度值。x应该是一个数字,即它的类型应该是Number。如果x不是Number类型的,那么它会先被强制类型转换为Number类型。
Math.cos()方法的返回值由下面的规则决定,规则中x的值指的是x被转换为Number类型后的值,如果它原本不是Number类型的话。
1. 如果x是NaN,那么结果也是NaN;
2. 如果x是+0,那么结果是1;
3. 如果x是-0,那么结果是1;
4. 如果x是无穷(Infinity或-Infinity),那么结果将是NaN;
5. x为其它数字,结果是以x为弧度值的角的余弦值。
我们知道在数学上任意一个角的余弦值都处于区间 [-1, 1] 内,因此在正常情况下Math.cos()返回的值也是 [-1, 1]之间的数字。
2. 示例
我们分3种情况来查看Math.cos()方法的实际效果,这3种情况都是按照参数来进行分类的,它们分别是:参数为正常数字、参数为特殊数字和参数不为数字的情况。
2.1 参数为正常数字
所谓参数为正常数字,就是参数不是-0、Infinity或NaN等这样的特殊数字。在该例子中,我们通过打印出几个常见弧度值的余弦来看看Math.cos()方法的作用,它的执行结果如图1所示。注意图1中显示π/2(Math.PI / 2)的余弦值为6.12乘以10的-17次方,这一结果非常接近于精确值0。
<code><
script
>
var
value1 =Math
.cos(Math
.PI);console
.log("Math.cos(π) = "
+ value1);var
value2 =Math
.cos(Math
.PI /2
);console
.log("Math.cos(π/2) = "
+ value2);var
value3 =Math
.cos(Math
.PI *2
);console
.log("Math.cos(2π) = "
+ value3);script
>/<code>
2.2 参数为特殊数字
JavaScript中有几个特殊的数字,它们分别是+0、-0、Infinity、-Infinity和NaN。本示例演示的就是以这些特殊数字为参数而调用Math.cos()方法,它的执行结果如图2所示。
<code><
script
>
var
value1 =Math
.cos(NaN
);console
.log("Math.cos(NaN) = "
+ value1);var
value2 =Math
.cos(+0
);console
.log("Math.cos(+0) = "
+ value2);var
value3 =Math
.cos(-0
);console
.log("Math.cos(-0) = "
+ value3);var
value4 =Math
.cos(Infinity
);console
.log("Math.cos(Infinity) = "
+ value4);var
value5 =Math
.cos(-Infinity
);console
.log("Math.cos(-Infinity) = "
+ value5);script
>/<code>
2.3 参数不为数字
最后,我们再来看看Math.cos()的参数不是Number类型的情形。此时参数会先被转换为Number类型,再对该数字代表的弧度值求余弦,该示例的执行结果如图3所示。
<code><
script
>
var
value1 =Math
.cos("3.1415"
);console
.log('Math.cos("3.1415") = '
+ value1);var
value2 =Math
.cos(document
);console
.log("Math.cos(document) = "
+ value2);var
value3 =Math
.cos(null
);console
.log("Math.cos(null) = "
+ value3);var
value4 =Math
.cos(false
);console
.log("Math.cos(false) = "
+ value4);script
>/<code>
(完)