在JavaScript中,數學方法可以分成以下幾類:constans(常數)、power functions(乘方函數)、trigonometic functions(三角函數)、rounding functions(舍入函數)以及random numbers(隨機數字)。下面逐個說明:
常數和乘方函數
Math.E |
自然對數的底(為常數) |
2.718 |
Math.LN10 |
10的自然對數 |
2.302 |
Math.LN2 |
2的自然對數 |
0.693 |
Math.PI |
圓周率 |
3.1415 |
Math.SQRT1_2 |
1/2的平方根 |
0.707 |
Math.SQRT2 |
2的平方根 |
1.414 |
Math.sqrt(x) |
X的平方根 |
更X的值有關 |
Math.pow(x, n) |
返回x的n次方的數值 |
參數為x和n |
Math.log(n) |
返回n的自然對數 |
參數為n |
Math.exp(n) |
返回e的n次方的數值 |
參數為n |
三角函數
Math.cos(x) |
X的餘弦函數 |
Math.sin(x) |
X的正弦函數 |
Math.tan(x) |
X的正切函數 |
Math.acos(y) |
X的反餘弦函數 |
Math.asin(y) |
X的反正弦函數 |
Math.atan(y) |
X的反正切函數 |
這裡注意:參數x和以及反函數的返回數值的單位都為弧度(比如 PI弧度=180度)
舍入函數和隨機數字
Math.random() |
產生從0到1的隨機數 |
Math.round(x) |
取最接近整數x的數值 |
Math.floor(x) |
取最接近整數x並且比x小的數值 |
Math.ceil(x) |
取最接近整數x並且比x大的數值 |
Math.min(a, b, c) |
返回參數列表中最小的數值 |
Math.max(a, b, c) |
返回參數列表中最大的數值 |
這裡注意:函數Math.random()只能在Unix版本的Navigator 2.0執行。
這些函數中最常用的就是產生在給定兩個數值之間的隨機數。以下的函數就是一個很好的例子:
function randomvalue(low, high) {
alert(Math.floor(Math.random() * (1 + high - low) + low));
}
另外,你可以在複雜的代碼中使用with語句來避免Math標識符的重複使用,例如以下代碼:
function randomvalue(low, high) {
with (Math) {
alert(floor(random() * (1 + high - low) + low));
}
}
這裡要記住,Math.random()函數只能在Unix版本的Navigator 2.0執行,而不能在windows版本的瀏覽器中執行,所以這個函數我們一般不使用。
以下給出的是一個更複雜的函數。這個函數返回三角形第三邊的長度,給出的條件是三角形的兩邊及兩邊的夾角。具體代碼如下:
function findside(sidea, sideb, angle) {
with (Math) {
var tmp = pow(sidea, 2) + pow(sideb, 2) - 2 * sidea * sideb * cos(angle);
alert("side length is " + sqrt(tmp));
}
}