Math 对象
Math(算数)对象的作用是:执行普通的算数任务。
Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。
算数值
JavaScript 提供 8 种可被 Math 对象访问的算数值:
- 常数
- 圆周率
- 2 的平方根
- 1/2 的平方根
- 2 的自然对数
- 10 的自然对数
- 以 2 为底的 e 的对数
- 以 10 为底的 e 的对数
这是在 Javascript 中使用这些值的方法:(与上面的算数值一一对应)
- Math.E
- Math.PI
- Math.SQRT2
- Math.SQRT1_2
- Math.LN2
- Math.LN10
- Math.LOG2E
- Math.LOG10E
使用 Math 的属性和方法的语法:
var pi_value=Math.PI; var sqrt_value=Math.sqrt(15);
注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
Math 对象属性
FF: Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
---|---|---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718)。 | 1 | 3 |
LN2 | 返回 2 的自然对数(约等于0.693)。 | 1 | 3 |
LN10 | 返回 10 的自然对数(约等于2.302)。 | 1 | 3 |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.414)。 | 1 | 3 |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434)。 | 1 | 3 |
PI | 返回圆周率(约等于3.14159)。 | 1 | 3 |
SQRT1_2 | 返回返回 2 的平方根的倒数(约等于 0.707)。 | 1 | 3 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 | 1 | 3 |
Math 对象方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
---|---|---|---|
abs(x) | 返回数的绝对值。 | 1 | 3 |
acos(x) | 返回数的反余弦值。 | 1 | 3 |
asin(x) | 返回数的反正弦值。 | 1 | 3 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 | 1 | 3 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 | 1 | 3 |
ceil(x) | 对数进行上舍入。 | 1 | 3 |
cos(x) | 返回数的余弦。 | 1 | 3 |
exp(x) | 返回 e 的指数。 | 1 | 3 |
floor(x) | 对数进行下舍入。 | 1 | 3 |
log(x) | 返回数的自然对数(底为e)。 | 1 | 3 |
max(x,y) | 返回 x 和 y 中的最高值。 | 1 | 3 |
min(x,y) | 返回 x 和 y 中的最低值。 | 1 | 3 |
pow(x,y) | 返回 x 的 y 次幂。 | 1 | 3 |
random() | 返回 0 ~ 1 之间的随机数。 | 1 | 3 |
round(x) | 把数四舍五入为最接近的整数。 | 1 | 3 |
sin(x) | 返回数的正弦。 | 1 | 3 |
sqrt(x) | 返回数的平方根。 | 1 | 3 |
tan(x) | 返回角的正切。 | 1 | 3 |
toSource() | 返回该对象的源代码。 | 1 | - |
valueOf() | 返回 Math 对象的原始值。 | 1 | 4 |
算数方法
除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。
函数(方法)实例:
下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。
document.write(Math.round(4.7)
)
上面的代码输出为:
5
下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数:
document.write(Math.random()
)
上面的代码输出为:
0.9370844220218102
下面的例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 10 之间的随机数:
document.write(Math.floor(Math.random()*11)
)
上面的代码输出为:
3如何使用 max() 来返回两个给定的数中的较大的数。
<html>
<body>
<script type="text/javascript">
document.write(Math.max(5,7) + "<br />")
document.write(Math.max(-3,5) + "<br />")
document.write(Math.max(-3,-5) + "<br />")
document.write(Math.max(7.25,7.30))
</script>
</body>
</html>
输出结果:
7
5
-3
7.3
5
-3
7.3