首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页制作Javascript/Ajax

Math对象应用详解

来源: 互联网    日期:2009-2-18
 

JavaScript中的Math对象提供了大量的算术运算功能和数值操作方法。

JavaScript中的Math对象的与众不同之处在于,它是一个全局对象。在使用Math对象之前,既不需要将一个变量声明为Math对象,也不需要定义一个新的Math对象,JavaScript将自动地创建好Math对象,我们只须直接使用它即可。这使得Math对象使用起来很容易。

Math对象的属性中包含一些经常使用的数学常量,如PI属性(即圆周率近似值3.141592653589793)。通常情况下,要访问这些属性,只须在Math之后加上一个点号(.),然后写出要访问的属性名。例如,要计算一个圆的面积,可以使用如下代码:

var radius = prompt("Give the radius of the circle", "");

var area = (Math.PI)*radius*radius;

document.write("The area is " + area);

除加(+)、减(–)、乘(*)、除(/) 4个标准算术运算外,Math对象还包含一些复杂的数学方法,用于完成算术运算无法实现的复杂计算,例如cos()方法用于计算弧度参数的余弦函数。下面将介绍一些常见的数学方法。

1.abs()方法

abs()方法返回所传入参数的绝对值。实际上,绝对值就是一个数去掉正负号之后的数值。例如,–1的绝对值是1,–4的绝对值是4等。对于正数,其绝对值就是该正数本身,例如,1的绝对值就是1。

例如:下面的代码对–101取绝对值,并把结果输出在页面上:

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>

将以上代码保存为ch4_examp3.htm,并在浏览器中打开该文件。在提示框中输入一个数值,如12.354,然后单击提示框的OK按钮。在提示框中输入的数值将作为参数分别传入parseInt()函数、ceil()方法、 floor()方法和round()方法,各方法取整的结果将用HTML格式化成一个表格形式,如图4-1所示。

图  4-1

代码解说

在上面的代码中,首先使用一个提示框提示用户输入一个数值:

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()方法中,使用了HTML标记来格式化输出的内容。对于主标题,使用了<h3>标记,对于表格的描述信息,使用了段落标记<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>")

对于表格,首先创建了一个表头,然后对于每一个取整方法,使用了独立的一行来显示。可以看到,在JavaScript代码中,动态地创建Web页面的HTML标记是很容易的。动态地创建HTML标记的原则与在Web页面中使用HTML标记时是一样的:HTML标记的语法必须是有效的,否则页面上将显示出一些错误的信息或者什么都不显示。对于表格的每一行,创建的方法都是相同的,只是使用了不同的取整方法。对于表格的第一行,使用了parseInt()函数,代码如下所示:

document.write("<tr><td>parseInt()</td><td>"+ parseInt(myNumber)

+ "</td></tr>");

在向页面输出的document.write()方法中,首先使用了<tr>标记来创建表格的行,然后,使用<td>标记创建了一个表格单元,并将用于取整的方法名称parseInt()显示在表格单元中,最后以</td>标记来结束这个单元格。接着用另一个<tr>标记创建第二个单元格,并将parseInt()函数取整之后的结果放在第二个单元格中,最后以</td>标记结束第二个单元格,以</tr>标记结束这个表格行。尽管parseInt()函数的返回值是数值类型,但是当它与字符串类型连接在一起时,JavaScript将把parseInt()函数的返回值自动转换为字符串类型,并与其他字符串连接在一起。这个转换是JavaScript在后台自动实现的,无须我们关心。



更多的Math对象应用详解请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2009-2-18   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报