JavaScript用Math.asin()求反正弦值


JavaScript用Math.asin()求反正弦值

1. 基本概念

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

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

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

參數x代表的是某個角的正弦值,而Math.asin()方法返回的正是用弧度值表示的這個角。x應該處於 [-1, 1] 範圍內,因為正弦值的取值範圍是 [-1, 1]。

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

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

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

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

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

5. 如果x是-0,那麼結果是-0;

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

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

2. 示例

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

因為Math.asin()方法的參數的合法範圍是 [-1, 1] ,所以我們先來看看參數正確的情況下Math.asin()方法的作用。雖然+0和-0也是這一範圍內的數字,但這裡我們先不考慮它們,而是把它們留到第3個例子中。本示例的執行結果如圖1所示。

<code>/<code>
JavaScript用Math.asin()求反正弦值

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

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

我們再來看看參數在 [-1, 1] 範圍之外時,Math.asin()的返回值。同樣的,這裡我們先不考慮正無窮和負無窮(Infinity和-Infinity)而是將它們留到示例3中進行展示。下面代碼的執行結果如圖2所示。

<code>/<code>
JavaScript用Math.asin()求反正弦值

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

2.3 參數為特殊數字

JavaScript中有幾個特殊的數字,它們分別是+0、-0、Infinity、-Infinity和NaN。本示例演示的就是以這些特殊數字為參數而調用Math.asin()方法的效果,它們的執行結果如圖3所示。

注意在該示例中,我們用單獨的一條打印語句來打印參數為-0的結果。這是因為如果用同一條打印語句來同時打印提示字符串和結果值,那麼結果值-0在轉換成字符串後就變成了0(+0),打印出的信息會錯誤地顯示-0的反正弦值為0(+0)。

同樣的,我們也用單獨的一條打印語句來打印參數為+0的結果。這是為了說明Math.asin(+0)的結果確實為+0(0),而不是-0轉換為字符串而得來的。

<code>/<code>
JavaScript用Math.asin()求反正弦值

圖3 參數為特殊數字的情況

2.4 參數不為數字

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

在該示例中,我們同樣單獨的打印參數為null的結果。這麼做的原因也是為了說明Math.asin(null)的結果確實是+0(0),而不是-0轉換為字符串而得來的。

<code>/<code>
JavaScript用Math.asin()求反正弦值

圖4 參數不是數字的情況

(完)


分享到:


相關文章: