在JavaScript中,数学方法可以分成以下几类:constans(常数)、power functions(乘方函数)、trigonometic functions(三角函数)、rounding functions(舍入函数)以及random numbers(随机数字)。下面逐个说明:
常数和乘方函数
[table=500][tr][td=1,1,33%]Math.E
[/td][td=1,1,33%]自然对数的底(为常数)
[/td][td=1,1,33%]2.718
[/td][/tr][tr][td=1,1,33%]Math.LN10
[/td][td=1,1,33%]10的自然对数
[/td][td=1,1,33%]2.302
[/td][/tr][tr][td=1,1,33%]Math.LN2
[/td][td=1,1,33%]2的自然对数
[/td][td=1,1,33%]0.693
[/td][/tr][tr][td=1,1,33%]Math.PI
[/td][td=1,1,33%]圆周率
[/td][td=1,1,33%]3.1415
[/td][/tr][tr][td=1,1,33%]Math.SQRT1_2
[/td][td=1,1,33%]1/2的平方根
[/td][td=1,1,33%]0.707
[/td][/tr][tr][td=1,1,33%]Math.SQRT2
[/td][td=1,1,33%]2的平方根
[/td][td=1,1,33%]1.414
[/td][/tr][tr][td=1,1,33%]Math.sqrt(x)
[/td][td=1,1,33%]X的平方根
[/td][td=1,1,33%]更X的值有关
[/td][/tr][tr][td=1,1,33%]Math.pow(x, n)
[/td][td=1,1,33%]返回x的n次方的数值
[/td][td=1,1,33%]参数为x和n
[/td][/tr][tr][td=1,1,33%]Math.log(n)
[/td][td=1,1,33%]返回n的自然对数
[/td][td=1,1,33%]参数为n
[/td][/tr][tr][td=1,1,33%]Math.exp(n)
[/td][td=1,1,33%]返回e的n次方的数值
[/td][td=1,1,33%]参数为n
[/td][/tr][/table]
三角函数
[table=500][tr][td=1,1,50%]Math.cos(x)
[/td][td=1,1,50%]X的余弦函数
[/td][/tr][tr][td=1,1,50%]Math.sin(x)
[/td][td=1,1,50%]X的正弦函数
[/td][/tr][tr][td=1,1,50%]Math.tan(x)
[/td][td=1,1,50%]X的正切函数
[/td][/tr][tr][td=1,1,50%]Math.acos(y)
[/td][td=1,1,50%]X的反余弦函数
[/td][/tr][tr][td=1,1,50%]Math.asin(y)
[/td][td=1,1,50%]X的反正弦函数
[/td][/tr][tr][td=1,1,50%]Math.atan(y)
[/td][td=1,1,50%]X的反正切函数
[/td][/tr][/table]
这里注意:参数x和以及反函数的返回数值的单位都为弧度(比如 PI弧度=180度)
舍入函数和随机数字
[table=500][tr][td=1,1,50%]Math.random()
[/td][td=1,1,50%]产生从0到1的随机数
[/td][/tr][tr][td=1,1,50%]Math.round(x)
[/td][td=1,1,50%]取最接近整数x的数值
[/td][/tr][tr][td=1,1,50%]Math.floor(x)
[/td][td=1,1,50%]取最接近整数x并且比x小的数值
[/td][/tr][tr][td=1,1,50%]Math.ceil(x)
[/td][td=1,1,50%]取最接近整数x并且比x大的数值
[/td][/tr][tr][td=1,1,50%]Math.min(a, b, c)
[/td][td=1,1,50%]返回参数列表中最小的数值
[/td][/tr][tr][td=1,1,50%]Math.max(a, b, c)
[/td][td=1,1,50%]返回参数列表中最大的数值
[/td][/tr][/table]
这里注意:函数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));
}
}