» 网友学堂 » FrontPage教程 » Javascript实例教程(16) 使用Javascript的数学函数
Javascript实例教程(16) 使用Javascript的数学函数
作者:问天 发表时间:2007-2-15 00:03 阅读:531次 在百度搜索相关内容

在JavaScript中,数学方法可以分成以下几类:constans(常数)、power functions(乘方函数)、trigonometic functions(三角函数)、rounding functions(舍入函数)以及random numbers(随机数字)。下面逐个说明:

常数和乘方函数






Math.E

自然对数的底(为常数)
[color=#FFFFFF'][/color]


2.718


Math.LN10

10的自然对数

2.302


Math.LN2

2的自然对数

0.693


Math.PI

圆周率

3.1415


Math.SQRT1_2

1/2的平方根

0.707
[color=#FFFFFF'][/color]



Math.SQRT2
[color=#FFFFFF'][/color]


2的平方根

1.414
[color=#FFFFFF'][/color]



Math.sqrt(x)
[color=#FFFFFF'][/color]


X的平方根

更X的值有关


Math.pow(x, n)

返回x的n次方的数值
[color=#FFFFFF'][/color]


参数为x和n


Math.log(n)
[color=#FFFFFF'][/color]


返回n的自然对数
[color=#FFFFFF'][/color]


参数为n
[color=#FFFFFF'][/color]



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)
[color=#FFFFFF'][/color]


X的反正切函数

这里注意:参数x和以及反函数的返回数值的单位都为弧度(比如 PI弧度=180度)
舍入函数和随机数字






Math.random()
[color=#FFFFFF'][/color]


产生从0到1的随机数


Math.round(x)

取最接近整数x的数值
[color=#FFFFFF'][/color]



Math.floor(x)

取最接近整数x并且比x小的数值


Math.ceil(x)

取最接近整数x并且比x大的数值


Math.min(a, b, c)
[color=#FFFFFF'][/color]


返回参数列表中最小的数值
[color=#FFFFFF'][/color]



Math.max(a, b, c)
[color=#FFFFFF'][/color]


返回参数列表中最大的数值
[color=#FFFFFF'][/color]


这里注意:函数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));

}

}

#Advertisement