JavaScript用Math.acos()求反餘弦值


JavaScript用Math.acos()求反餘弦值

1. 基本概念

Math.acos()方法用於求一個數的反餘弦值。它的語法形式如下所示:

<code>Math.acos(x);/<code>

其中參數x應該是一個數字,即它的類型應該是Number。如果x不是Number類型的,那麼它會先被強制類型轉換為Number類型。

參數x代表的是某個角的餘弦值,而Math.acos()方法返回的正是用弧度值表示的這個角。x應該處於 [-1, 1] 範圍內,因為餘弦值的取值範圍是 [-1, 1]。如果x不在此範圍內,那麼Math.acos()將返回NaN。

Math.acos()方法的返回值由下面的規則決定,規則中x的值指的是x被轉換為Number類型後的值,如果它原本不是Number類型的話。

1. 如果x是NaN,那麼結果是NaN;

2. 如果x大於1(包括正無窮Infinity),那麼結果是NaN;

3. 如果x小於-1(包括負無窮-Infinity),那麼結果是NaN;

4. 如果x是1,那麼結果是+0;

5. x為其它 [-1, 1] 範圍內的數字,結果是餘弦值等於x的角的弧度值。

我們知道餘弦函數是一個週期函數,即有多個角的餘弦值是相同的。那麼當我們指定一個餘弦值的時候,Math.acos()方法會返回哪一個角呢?對此官方文檔作了明確的規定,那就是Math.acos()方法返回的是 [+0, π] 範圍內的角。

2. 示例

2.1 參數為[-1, 1]內的數字

我們先來看看參數正確,即參數是[-1, 1]之內的數字時,Math.acos()方法的作用。該示例的執行結果如圖1所示,其中需要注意的是1的反餘弦值為+0(0)而不是-0,且+0和-0的反餘弦值都是π/2。

<code>/<code>
JavaScript用Math.acos()求反餘弦值

圖1 參數在[-1, 1]之內的情況

2.2 參數為[-1, 1]外的數字

我們再來看看參數是 [-1, 1] 範圍之外的數字(包括NaN、Infinity和-Infinity)時,Math.acos()的返回值。下面代碼的執行結果如圖2所示。

<code>/<code>
JavaScript用Math.acos()求反餘弦值

圖2 參數在[-1, 1]之外的情況

2.3 參數不為數字

最後,我們再來看看Math.acos()的參數不是Number類型的情形。此時參數會先被轉換為Number類型,再對該數字求反餘弦值,該示例的執行結果如圖3所示。

<code>/<code>
JavaScript用Math.acos()求反餘弦值

圖3 參數不是數字的情況

(完)


分享到:


相關文章: