Javascript的数学函数
在JavaScript中,数学方法可以分成以下几类:constans(常数)、power functions(乘方函数)、trigonometic functions(三角函数)、rounding functions(舍入函数)以及random numbers(随机数字)。下面逐个说明:
常数和乘方函数
三角函数
这里注意:参数x和以及反函数的返回数值的单位都为弧度(比如 PI弧度=180度)
舍入函数和随机数字
这里注意:函数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));
}
}
常数和乘方函数
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));
}
}