Javascript Math对象
作者:bea
Math对象
Math对象是在高中数学课就学过的内置对象。它知道解决最复杂的数学问题的所有公式,如果给它要处理的数字,即能计算出结果。
Math对象有几个属性,主要是数学界的专用值。下表类出了这些属性:
属 性 | 说 明 |
E | 值e,自然对数的底 |
LN10 | 10的自然对数 |
LN2 | 2的自然对数 |
LOG2E | 以2为底E的对数 |
LOG10E | 以10为底E的对数 |
PI | 值π |
SQRT1_2 | 1/2的平方根 |
SQRT2 | 2的平方根 |
虽然这些值的意义与用法不在本书讨论范围内,但如果清楚它们是什么,在需要时,即可使用它们。
Math对象还包括许多专门用于执行简单的及复杂的数学计算的方法。
方法min()和max()用于判断一组数中的最大值和最小值。这两个方法都可接受任意多个参数:
对于数字3、54、32和16,max()返回54,min()返回3。用这些方法,可免去用循环或if语句来判断一组数中的最大值。
另一个方法abs()返回数字的绝对值。绝对值是负数的正值版本(正数的绝对值就是它自身)。
这个例子中,abs(-1)返回1,abs(1)也返回1。
下一组方法用于把小数舍入成整数。处理舍入操作的方法有三个,即ceil()、floor()和round(),它们的处理方法不同:
q 方法ceil()表示向上舍入函数,总是把数字向上舍入到最接近的值。
q 方法floor()表示向下舍入函数,总是把数字向下舍入到最接近的值。
q 方法round()表示标准的舍入函数,如果数字与下一个整数的差不超过0.5,则向上舍入,否则向下舍入。这是在初中学过的舍入规则。
为说明每种方法的处理方式,考虑使用值25.5:
对于ceil()和round(),传递25.5,返回的是26,而floor()返回的是25。注意不要交替使用这些方法,因为最后可能得到与预期不符的结果。
另一组方法与指数的用法有关。这些方法包括exp(),用于把Math.E升到指定的幂;log()用于返回特定数字的自然对数;pow()用于把指定的数字升到指定的幂;sqrt()用于返回指定数字的平方根。
方法exp()和log()本质上功能相反,exp()把Math.E升到特定的幂,log()则判断Math.E的多少次指数才等于指定的值。例如:
这里,首先用exp()把Math.E升到10次幂,然后log()返回10,即等于数字iNum必需的指数。很多人都对此感到迷茫。全世界的高中生和数学系的大学生都被此类问题难倒过。如果你对自然对数一无所知,那么有可能永远都不需要为它编写代码。
方法pow()用于把数字升到指定的幂,如把2升到10次幂(在数学中表示为210):
pow()的第一个参数是基数,此例子中是2。第二个参数是要升到的幂,此例子中是10。
不建议把Math.E作为pow()方法的基数。最好使用exp()对Math.E进行升幂运算,因为它是专用运算,计算出的值更精确。
这组方法中的最后一个方法是sqrt(),用于返回指定数字的平方根。它只有一个参数,即要求平方根的数字。要求4的平方根,只需要用一行代码:
当然,4的平方根是2,就是这行代码的输出。
你也许会问“为什么平方根必须利用指数”?实际上,数字平方根就是它的1/2次幂。例如,21/2就是2的平方根。
Math对象还有一整套三角函数方法。下表列出了这些方法:
方 法 | 说 明 |
acos(x) | 返回x的反余弦值 |
asin(x) | 返回x的反正弦值 |
atan(x) | 返回x的反正切值 |
atan2(y,x) | 返回y/x的反余弦值 |
cos(x) | 返回x的余弦值 |
sin(x) | 返回x的正弦值 |
tan(x) | 返回x的正切值 |
即使这些方法是ECMA-262定义的,结果也是由实现决定的,因为每个值的计算方法都有很多,从而使得不同的实现生成的结果的精度也不同。
Math对象的最后一个方法是random(),该方法返回一个0到1之间的随机数,不包括0和1。这是在主页上显示随机引述或新闻的站点常用的工具。可用下面的形式调用random()方法,在某个范围内选择随机数:
这里使用方法floor(),因为random()返回的都是小数值,也就是说,用它乘以一个数,然后再加上一个数,得到的仍然是小数值。通常你想选择一个随机整数值。因此,必须使用floor()方法。如果想选择一个1到10之间的数,代码如下:
可能出现的值有10个(1到10),这些值中的第一个是1。如果想选择2到10之间的值,代码如下:
从2到10,只有9个数字,所以选项总数为9,其中第一个值是2。许多时候,使用计算选项总数的函数和第一个可用的值更容易些:
使用函数,可很容易地选择Array中的随机项:
这里,selectFrom()函数的第二个参数是数组的长度减1,即数组中最后一个元素的位置。
猜你喜欢
您可能感兴趣的文章:
- jQuery select控制插件
- javascript 无提示关闭窗口脚本
- javascript addBookmark 加入收藏 多浏览器兼容
- 用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
- javascript 客户端验证上传图片的大小(兼容IE和火狐)
- js中的window.open返回object的错误的解决方法
- JavaScript 提升运行速度之循环篇 译文
- jQuery ui 1.7更新小结
- 获取 textarea 标签第n行的文字的js代码
- css+js完美控制图片大小
- IE8 下的Js错误HTML Parsing Error...
- jQuery 判断页面元素是否存在的代码
- JavaScript写的一个DIV 弹出网页对话框
- 使用JQuery和s3captche实现一个水果名字的验证
- JS 添加删除元素的实现代码
- javascript 不停(setInterval)/延时(setTimeout)函数使用实例
- img标签中onerror用法
- 什么是JavaScript
- Javascript Global对象