1. 基本概念
Math對象的cbrt()方法用於求一個數的立方根,cbrt是"cube root"的縮寫,正是立方根的意思。它的語法結構如下所示:
<code>Math
.cbrt
(x
);/<code>
參數x應該是一個數字,即它的類型應該是Number。如果x不是Number類型的,那麼它會先被強制類型轉換為Number類型。
Math.cbrt()方法的返回值由下面的規則決定,規則中x的值指的是x被轉換為Number類型後的值,如果它原本不是Number類型的話。
1. 如果x是NaN,那麼結果也為NaN;
2. 如果x是+0,那麼結果也是+0;
3. 如果x是-0,那麼結果也是-0;
4. 如果x是正無窮(Infinity),那麼結果也是正無窮(Infinity);
5. 如果x是負無窮(-Infinity),那麼結果也是負無窮(-Infinity);
6. x為其它數字,結果為x的立方根。
2. 示例
2.1 參數為普通數字
我們先來看看參數為普通數字的情況下,對Math.cbrt()的調用結果。這也是我們對Math.cbrt()的主要使用場景,以下代碼的執行結果如圖1所示。
<code><
script
>
var
value1 =Math
.cbrt(27
);console
.log("Math.cbrt(27) = "
+ value1);var
value2 =Math
.cbrt(-27
);console
.log("Math.cbrt(-27) = "
+ value2);var
value3 =Math
.cbrt(14
);console
.log("Math.cbrt(14) = "
+ value3);var
value4 =Math
.cbrt(9.6
);console
.log("Math.cbrt(9.6) = "
+ value4);script
>/<code>
2.2 參數為特殊值
我們再來看看參數為特殊值但不需要類型轉換的情形,該示例代碼的執行結果如圖2所示。
<code><
script
>
var
value1 =Math
.cbrt(NaN
);console
.log("Math.cbrt(NaN) = "
+ value1);var
value2 =Math
.cbrt(+0
);console
.log("Math.cbrt(+0) = "
+ value2);var
value3 =Math
.cbrt(-0
);console
.log("Math.cbrt(-0) = "
+ value3);var
value4 =Math
.cbrt(Infinity
);console
.log("Math.cbrt(Infinity) = "
+ value4);var
value5 =Math
.cbrt(-Infinity
);console
.log("Math.cbrt(-Infinity) = "
+ value5);script
>/<code>
2.3 參數不是數字
最後,我們再來看看參數不是Number類型的情形,此時參數會先被轉換為Number類型。
<code><
script
>
var
value1 =Math
.cbrt("64"
);console
.log('Math.cbrt("64") = '
+ value1);var
value2 =Math
.cbrt(null
);console
.log("Math.cbrt(null) = "
+ value2);var
value3 =Math
.cbrt(true
);console
.log("Math.cbrt(true) = "
+ value3);var
value4 =Math
.cbrt(window
);console
.log("Math.cbrt(window) = "
+ value4);script
>/<code>
(完)