Math对象应用详解

2016-02-20 00:48 16 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的Math对象应用详解,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

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。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

–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("h3The number you entered was " + myNumber + "/h3br");

document.write("pThe rounding results for this number are/p");

document.write("table width=150 border=1");

document.write("trthMethod/ththResult/th/tr");

document.write("trtdparseInt()/tdtd"+ parseInt(myNumber)

+"/td/tr");

document.write("trtdceil()/tdtd" + Math.ceil(myNumber)

+ "/td/tr");

document.write("trtdfloor()/tdtd"+ Math.floor(myNumber)

+ "/td/tr");

document.write("trtdround()/tdtd" + 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("h3The number you entered was " + myNumber + "/h3br");

document.write("pThe rounding results for this number are/p");

注意,在document.write()方法中,使用了HTML标记来格式化输出的内容。对于主标题,使用了h3标记,对于表格的描述信息,使用了段落标记p。

下面的代码则用于创建一个表格,以显示各方法取整的结果:

document.write("table width=150 border=1");

document.write("trthMethod/ththResult/th/tr");

document.write("trtdparseInt()/tdtd"+ parseInt(myNumber)

+ "/td/tr");

document.write("trtdceil()/tdtd" + Math.ceil(myNumber)

+ "/td/tr");

document.write("trtdfloor()/tdtd"+ Math.floor(myNumber)

+ "/td/tr");

document.write("trtdround()/tdtd" + Math.round(myNumber)

+ "/td/tr");

document.write("/table")

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

document.write("trtdparseInt()/tdtd"+ parseInt(myNumber)

+ "/td/tr");

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

来源:http://www.tulaoshi.com/n/20160220/1632565.html

延伸阅读
标签: Web开发
MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。 创建XMLHTTP对象的语句如下: Set objXML = CreateObject("Msxml2.XMLHTTP") 或 Set objXML = CreateObject(“Microsoft.XMLHTTP”) ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("M...
AutoCAD2013偏移对象实例详解   这次CAD教程带来AutoCAD2013中文版偏移对象详解。AutoCAD2013偏移操作用于平行复制,通过该命令可以创建同心圆、平行线或等距曲线。 图01 一、用AutoCAD2013中文版偏移对象教程: 1.单击选择AutoCAD2013修改面板上偏移;或输入命令OFFSET。 图02 2.AutoCAD...
AutoCAD2013打断对象实例详解   这次CAD教程带来AutoCAD2013中文版打断对象详解。AutoCAD2013打断对象是指将对象在某点处打断(即一分为二),或在两点之间打断对象,即删除位于两点之间的那部分对象。 图01 1.选择AutoCAD2013修改面板上的修改按钮 ,从弹出的菜单中选择打断工具按钮;或输入命令BREAK。 ...
标签: Web开发
document 文挡对象 - JavaScript脚本语言描述 --------------------------------------------------------------------- 注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写    否则会提示你一个错误信息 "引用的元素为空或者不是对象" -------------------------------------------------...
标签: Web开发
[document对象] 该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。 属性 alinkColor 活动链接的颜色(ALINK) anchor 一个HTMI锚点,使用A NAME=标记创建(该属性本身也是一个对象) anchors array 列出文档锚点对象的数组(A NAME=)(该属性本身也是一个对象) bgColor 文档的背景颜色(BGCOLOR)...

经验教程

64

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部