转:http://bbs.gmakj.com/simple/index.php?t34056.html
在java script中,数学方法可以分成以下几类: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));
}
}