JavaScript中的Math对象提供了大量的算术运算功能和数值操做方法。javascript
JavaScript中的Math对象的不同凡响之处在于,它是一个全局对象。在使用Math对象以前,既不须要将一个变量声明为Math对象,也不须要定义一个新的Math对象,JavaScript将自动地建立好Math对象,咱们只须直接使用它便可。这使得Math对象使用起来很容易。html
Math对象的属性中包含一些常常使用的数学常量,如PI属性(即圆周率近似值3.141592653589793)。一般状况下,要访问这些属性,只须在Math以后加上一个点号(.),而后写出要访问的属性名。例如,要计算一个圆的面积,可使用以下代码:java
var radius = prompt("Give the radius of the circle", "");函数
var area = (Math.PI)*radius*radius;this
document.write("The area is " area);spa
除加(+)、减(–)、乘(*)、除(/) 4个标准算术运算外,Math对象还包含一些复杂的数学方法,用于完成算术运算没法实现的复杂计算,例如cos()方法用于计算弧度参数的余弦函数。下面将介绍一些常见的数学方法。htm
1.abs()方法对象
abs()方法返回所传入参数的绝对值。实际上,绝对值就是一个数去掉正负号以后的数值。例如,–1的绝对值是1,–4的绝对值是4等。对于正数,其绝对值就是该正数自己,例如,1的绝对值就是1。ip
例如:下面的代码对–101取绝对值,并把结果输出在页面上:ci
var myNumber = -101;
document.write(Math.abs(myNumber));
2.ceil()方法
ceil()方法用于向上取整,它把一个数值向上舍入到最接近的最小整数,即对于Math.ceil(n)方法,它将返回大于或等于n的最小整数。例如,10.01向上取整后为11,–9.99向上取整后为–9(这是由于对于负数,–9大于–10)。ceil()方法只有一个参数,即须要向上取整的数值。
ceil()方法的使用与第2章中介绍过的parseInt()方法是不一样的。parseInt()方法只是简单地截断小数点以后的全部数字,把整数部分保留下来。而ceil(n)方法将向上取整,返回大于或等于n的最小整数。
例如,下面的代码将在页面上输出两行信息,第一行为ceil()方法对101.01向上取整的结果102,第二行为parseInt()方法取整的结果101:
var myNumber = 101.01;
document.write(Math.ceil(myNumber) "<BR>");
document.write(parseInt(myNumber));
3.floor()方法
与ceil()方法相似,floor()方法也用于对一个数字进行取整,所不一样的是,floor()方法用于向下取整,它把一个数值向下舍入到最接近的最大整数,即对于Math.floor(n)方法,它将返回小于或等于n的最大整数。例如,Math.floor(10.01)将返回10,而Math.floor(–9.99)将返回–10。
4.round()方法
round()方法用于对一个数值进行四舍五入,即当一个数小数部分大于等于0.5时,则向上舍入,小于等于0.5时则向下舍入。
例如,对于以下代码:
var myNumber = 44.5;
document.write(Math.round(myNumber) "<BR>");
myNumber = 44.49;
document.write(Math.round(myNumber));
对于44.5将四舍五入为45,而对于44.49则四舍五入为44。
5.关于取整方法的小结
正如上面所述,ceil()方法、 floor()方法和round()方法均可以进行取整操做。但各个方法的取整操做是不一样的。对于floor(n)方法,它返回小于或等于n的最大整数;对于ceil(n)方法,它返回大于或等于n的最小整数;而round(n)方法将对n进行四舍五入。这几个方法可能容易混淆,表4-3格则用实例进行了说明:它显示了一列数值,以及将这些数值做为参数分别传入parseInt()函数、ceil()方法、floor()方法和round()方法时的返回值。
表 4-3
参 数 |
parseInt() 方法的返回值 |
ceil() 方法的返回值 |
floor() 方法的返回值 |
round() 方法的返回值 |
10.25 |
10 |
11 |
10 |
10 |
10.75 |
10 |
11 |
10 |
11 |
10.5 |
10 |
11 |
10 |
11 |
–10.25 |
–10 |
–10 |
–11 |
–10 |
–10.75 |
–10 |
–10 |
–11 |
–11 |
–10.5 |
–10 |
–10 |
–11 |
–10 |
注意:与表中其余的方法不一样的是:parseInt()函数是一个JavaScript内置对象,而不是Math对象的一个方法。
若是对JavaScript中各个取整方法还不熟悉的话,下面的这个例子将演示这些方法的使用,以增进咱们对各个取整方法的理解。首先,经过提示框得到用户输入的一个数值,而后将该数值做为参数分别传入parseInt()函数、ceil()方法、 floor()方法和round()方法,各个方法的返回值将以一个表格的形式显示在页面上。
<html>
<body>
<script language="JavaScript" type="text/javascript">
var myNumber = prompt("Enter the number to be rounded","");
document.write("<h3>The number you entered was " myNumber "</h3><br>");
document.write("<p>The rounding results for this number are</p>");
document.write("<table width=150 border=1>");
document.write("<tr><th>Method</th><th>Result</th></tr>");
document.write("<tr><td>parseInt()</td><td>" parseInt(myNumber)
"</td></tr>");
document.write("<tr><td>ceil()</td><td>" Math.ceil(myNumber)
"</td></tr>");
document.write("<tr><td>floor()</td><td>" Math.floor(myNumber)
"</td></tr>");
document.write("<tr><td>round()</td><td>" Math.round(myNumber)
"</td></tr>");
document.write("</table>")
</script>
</body>
</html>