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>
(完)