当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(17) 使用Javascript的数学函数

Javascript
一个特殊的排序需求的javascript实现代码
javaScript 简单验证代码(用户名,密码,邮箱)
支持ie与FireFox的剪切板操作代码
使用JS判断是否数字和小数点组合的数字的两中方法比较(isNaN和逐判断)
javascript 表单验证常见正则
IE FF OPERA都可用的弹出层实现代码
PPK 谈 JavaScript 的 this 关键字 [翻译]
JavaScript 自动在表格前面增加序号
点击按钮后 文本框变为Select下拉列表框
js类的静态属性和实例属性的理解
点击文章内容处弹出页面代码
点击下载链接 弹出页面实现代码
签名框(Textarea)限制文字数量并适时提示
JavaScript CSS 通用循环滚动条
js removeChild 障眼法 可能出现的错误
面向对象的javascript(笔记)
JavaScript 浮点数运算 精度问题
JavaScript 接收键盘指令示例
CSS 美化表格边框为凹陷立体效果的实现方法
JavaScript 控制文本框的值连续加减

Javascript实例教程(17) 使用Javascript的数学函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 362 ::
收藏到网摘: n/a

使用Javascript的数学函数

在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));

}

}