Javascript之Math对象详解

Math对象不同于上述的对象,它可以说是一个公共数学类,里面有很多数学方法,用于各种数学运算
但是Math对象不需要构造,对于其中的方法直接使用即可

1、常量(即属性)

E       返回算术常量 e,即自然对数的底数(约等于2.718)

E 返回算术常量 e,即自然对数的底数(约等于2.718)
LN2 返回 2 的自然对数(约等于0.693)
LN10 返回 10 的自然对数(约等于2.302)
LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)
LOG10E 返回以 10 为底的 e 的对数(约等于0.434)
PI 返回圆周率(约等于3.14159)
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)
SQRT2 返回 2 的平方根(约等于 1.414)

下面是它们的值:

复制代码 代码如下:

document.write("Math.E = "+Math.E+"<br>");
document.write("Math.LN2 = "+Math.LN2+"<br>");
document.write("Math.LN10 = "+Math.LN10+"<br>");
document.write("Math.LOG2E = "+Math.LOG2E+"<br>");
document.write("Math.LOG10E = "+Math.LOG10E+"<br>");
document.write("Math.PI = "+Math.PI+"<br>");
document.write("Math.SQRT1_2 = "+Math.SQRT1_2+"<br>");
document.write("Math.SQRT2 = "+Math.SQRT2+"<br>");

输出结果:

Math.E = 2.718281828459045
Math.LN2 = 0.6931471805599453
Math.LN10 = 2.302585092994046
Math.LOG2E = 1.4426950408889634
Math.LOG10E = 0.4342944819032518
Math.PI = 3.141592653589793
Math.SQRT1_2 = 0.7071067811865476
Math.SQRT2 = 1.4142135623730951

2、abs() 方法可返回数的绝对值

Math.abs(x);x必须为一个数值,此数可以是整数,小数都可以
document.write(Math.abs(-2.77));//输出2.77

3、acos(x) 返回数的反余弦值。

Math.acos(x);x必须是 -1.0 ~ 1.0 之间的数
如果x不在上述范围,则返回NaN

4、asin() 方法可返回一个数的反正弦值。

Math.asin(x);x必须是一个数值,该值介于 -1.0 ~ 1.0 之间。
如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN。

5、atan() 方法可返回数字的反正切值。

Math.atan(x);x 必需。必须是一个数值。
返回的值是 -PI/2 到 PI/2 之间的弧度值。

6、atan2() 方法可返回从 x 轴到点 (x,y) 之间的角度。

Math.atan2(y,x)
-PI 到 PI 之间的值,是从 X 轴正向逆时针旋转到点 (x,y) 时经过的角度。

7、ceil() 方法可对一个数进行上舍入。

什么是上舍入?即大于等于 x,并且与它最接近的整数。
Math.ceil(x);x 必需。必须是一个数值。

复制代码 代码如下:

document.write(Math.ceil(0.60) + "<br />")
document.write(Math.ceil(0.40) + "<br />")
document.write(Math.ceil(5) + "<br />")
document.write(Math.ceil(5.1) + "<br />")
document.write(Math.ceil(-5.1) + "<br />")
document.write(Math.ceil(-5.9))

输出为:

1
1
5
6
-5
-5

对于负数,你懂的

8、cos() 方法可返回一个数字的余弦值。

Math.cos(x);x 必需。必须是一个数值。 返回的是 -1.0 到 1.0 之间的数。、
x其实要求是输入一个弧度值,例如--->
π代表的是180°等,π即Math.PI
document.write(Math.cos(Math.PI));
输出为-1

但是假如:

复制代码 代码如下:

document.write(Math.cos(Math.PI/2));

输出为:6.123233995736766e-17

而:

复制代码 代码如下:

document.write(Math.cos(Math.PI/3));

输出为:0.5000000000000001

为什么会出现这些怪异的数字呢?

其实大家都知道document.write(Math.cos(Math.PI/2));应该输出0,而在Javascript中可能没有求的0,所以就用了一个非常非常小的数代替
类似的document.write(Math.cos(Math.PI/3));应该是0.5才对,但是却在最后面多了一位
这些是小问题,没啥好说的,本身寄存器就不可能表示所有数的,因此在计算过程中出现差错也很正常

9、exp() 方法可返回 e 的 x 次幂的值。

Math.exp(x);x 必需。任意数值或表达式。被用作指数。
返回 e 的 x 次幂。e 代表自然对数的底数,其值近似为 2.71828。
document.write(Math.exp(1) + "<br />");//输出2.718281828459045

10、floor() 方法可对一个数进行下舍入。

和ceil()方法相对应,floor()方法是对一个数进行下舍入,即小于等于 x,且与 x 最接近的整数。
Math.floor(x);

复制代码 代码如下:

document.write(Math.floor(0.60) + "<br />")
document.write(Math.floor(0.40) + "<br />")
document.write(Math.floor(5) + "<br />")
document.write(Math.floor(5.1) + "<br />")
document.write(Math.floor(-5.1) + "<br />")
document.write(Math.floor(-5.9))

输出为:

0
0
5
5
-6
-6

对于负数,你懂的

11、log() 方法可返回一个数的自然对数。

Math.log(x);//参数 x 必须大于 0,大于0则结果为NaN,等于0则为-Infinity

复制代码 代码如下:

document.write(Math.log(2.7183) + "<br />")
document.write(Math.log(2) + "<br />")
document.write(Math.log(1) + "<br />")
document.write(Math.log(0) + "<br />")
document.write(Math.log(-1))

输出为:

1.0000066849139877
0.6931471805599453
0
-Infinity
NaN
从上面我们可以看出

12、max() 方法可返回两个指定的数中带有较大的值的那个数。

Math.max(x...),//x 为0或多个值。在 ECMASCript v3 之前,该方法只有两个参数。
返回值:
参数中最大的值。
如果没有参数,则返回 -Infinity。
如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN。
如下例:

复制代码 代码如下:

document.write(Math.max(5,3,8,1));//8
document.write(Math.max(5,3,8,'M'));//NaN
document.write(Math.max(5));//5
document.write(Math.max());//-Infinity

13、min() 方法可返回指定的数字中带有最低值的数字。

Math.min(x,y);x为0或多个值。在 ECMASCript v3 之前,该方法只有两个参数。
返回值:
参数中最小的值。
如果没有参数,则返回 Infinity。
如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN。
和max()方法使用类似

14、pow() 方法可返回 x 的 y 次幂的值。

Math.pow(x,y);//
x 必需。底数。必须是数字。
y 必需。幂数。必须是数字。
返回值:
如果结果是虚数或负数,则该方法将返回 NaN。如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity。
如下例:

复制代码 代码如下:

document.write(Math.pow()+'<br>');
document.write(Math.pow(2)+'<br>');
document.write(Math.pow(2,2)+'<br>');
document.write(Math.pow(2,2,2)+'<br>');
document.write(Math.pow('M',2)+'<br>');

输出:

NaN
NaN
4
4
NaN

15、random() 方法可返回介于 0 ~ 1 之间的一个随机数。

Math.random();//无参
返回:
0.0 ~ 1.0 之间的一个伪随机数。
何为伪随机数?
真正意义的随机数是某次随机事件产生的结果,经过无数次后表现为呈现某种概率论,它是不可预测的
而伪随机数是根据伪随机算法实现的,它是采用了一种模拟随机的算法,因此被称为伪随机数

复制代码 代码如下:

document.write(Math.random())

0.12645312909485157

16、round() 方法可把一个数字舍入为最接近的整数。

Math.round(x),x 必需。必须是数字。
对于 0.5,该方法将进行上舍入。
例如,3.5 将舍入为 4,而 -3.5 将舍入为 -3。
其实就感觉此方法是用ceil()和floor()方法结合实现的

复制代码 代码如下:

document.write(Math.round(0.60) + "<br />")
document.write(Math.round(0.50) + "<br />")
document.write(Math.round(0.49) + "<br />")
document.write(Math.round(-4.40) + "<br />")
document.write(Math.round(-4.60))

输出为:

1
1
0
-4
-5

17、sin() 方法可返回一个数字的正弦。

Math.sin(x),x 必需。一个以弧度表示的角。将角度乘以 0.017453293 (2PI/360)即可转换为弧度。
返回值:
参数 x 的正弦值。返回值在 -1.0 到 1.0 之间。

复制代码 代码如下:

document.write(Math.sin(3) + "<br />")
document.write(Math.sin(-3) + "<br />")
document.write(Math.sin(0) + "<br />")
document.write(Math.sin(Math.PI) + "<br />")
document.write(Math.sin(Math.PI/2)

输出为:

0.1411200080598672
-0.1411200080598672
0
1.2246063538223772e-16
1

18、sqrt() 方法可返回一个数的平方根。

Math.sqrt(x);//x 必需,必须是大于等于 0 的数。
返回值:
参数 x 的平方根。如果 x 小于 0,则返回 NaN。
它相当于Math.pow(x,0.5);

19、tan() 方法可返回一个表示某个角的正切的数字。

Math.tan(x),//x 必需。一个以弧度表示的角。将角度乘以 0.017453293 (2PI/360)即可转换为弧度。

查看更多JavaScript的语法,大家可以关注:《JavaScript 参考教程》、《JavaScript代码风格指南》,也希望大家多多支持我们。

时间: 2016-06-05

浅谈JavaScript中Date(日期对象),Math对象

Date对象 1.什么是Date对象? 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 语法:var Udate=new Date(); 注:初始值为当前时间(当前电脑系统时间). 2.Date对象常用方法: 3.Date方法实例 复制代码 代码如下: var newTime=new Date();//获取当前时间             var millSecond=Date.now();//当前日期转换成的毫秒数             var fullYear=n

JavaScript中Math对象的方法介绍

1.比较最值方法 比较最值有两种方法,max() 和 min() 方法. 1.1 max() 方法,比较一组数值中的最大值,返回最大值. var maxnum = Math.max(12,6,43,58,70); alert(maxnum); //"70" 1.2 min() 方法,比较一组数值中的最小值,返回最小值. var minnum = Math.min(12,6,43,58,70); alert(minnum); //"6" 2.数值舍入方法 2.1 ce

JavaScript中Math对象方法使用概述

1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 at

JavaScript中Math对象使用说明

JavaScript中Math对象是是一个固有对象,提供基本数学函数和常数.使用方法: Math.[{property | method}] 其中property是必选项.Math 对象的一个属性名. method是必选项.Math.对象的一个方法名. JavaScript中Math对象不能用 new 运算符创建,如果试图这样做则给出错误.该对象在装载脚本引擎时由该引擎创建.其所有方法和属性在脚本中总是可用.

简单谈谈原生js的math对象

Math对象方法 //返回最大值 var max=Math.max(95,93,90,94,98); console.log(max); //返回最小值 var min=Math.min(95,93,90,94,98); console.log(min); //向上取整 console.log(Math.ceil(2.2)); console.log(Math.ceil(-2.2)); //向下取整 console.log(Math.floor(2.2));//2 console.log(Mat

Javascript Math对象

Math对象 Math对象是在高中数学课就学过的内置对象.它知道解决最复杂的数学问题的所有公式,如果给它要处理的数字,即能计算出结果. Math对象有几个属性,主要是数学界的专用值.下表类出了这些属性: 属  性 说    明 E 值e,自然对数的底 LN10 10的自然对数 LN2 2的自然对数 LOG2E 以2为底E的对数 LOG10E 以10为底E的对数 PI 值π SQRT1_2 1/2的平方根 SQRT2 2的平方根 虽然这些值的意义与用法不在本书讨论范围内,但如果清楚它们是什么,在需

JavaScript Math 对象常用方法总结

Math.abs(x):可返回数的绝对值 Math.ceil(x):向上取整 Math.floor(x):向下取整 Math.max(x,y):最大值 Math.min(x,y):最小值 Math.random(x):随机数 Math.round(x):四舍五入 获取指定范围内的随机数 var x=Math.floor(Math.random()*(max-min+1))+min; 以上这篇JavaScript Math 对象常用方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希

JavaScript Math对象和调试程序的方法分析

本文实例讲述了JavaScript Math对象和调试程序的方法.分享给大家供大家参考,具体如下: Math对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>math对象</title> <script type="text/javascript"> var iPi=M

javascript入门&#183;对象属性方法大总结

今天是我们js入门系列演示的最后一节了(暂时我是这样计划的),但是请朋友们记住,前面的实例你都很熟悉了的话也不代表我们就懂了JS,甚至连入门我们都不得不承认我们只是站在门槛上,还没有进去呢,那你可能要问,为什么要匆匆结束呢?答案很简单,我们的最终目标是AJAX/Atlas,在以后的入门教程中我们还会接触大量的JS的东西,而我这个懒人繁冗的注释一定不会让你失望的,所以更多JS我们以后继续学习,下面我们必须把JS最重要的东西--<对象>的方法和属性都熟悉下,因为这可是非常重要的,而这篇Post你大

浅谈JavaScript Math和Number对象

1. Math 对象 1.1 介绍 Math 对象,是数学对象,提供对数据的数学计算,如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 1.2 构造函数 无 :Math 对象无构造函数,无法被初始化,只提供静态属性和方法. 1.3 静态属性 1.3.1 Math.E :常量e.返回自然对数的底数:2.718281828459045   1.3.2 Math.PI :常量π.返回圆周率的值 :3.141592653589793   1.4 静态方法 1.4.1 Math

JavaScript prototype对象的属性说明

一.什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功能.并且对象的新实例会"继承"赋予该对象原型的操作.但是这个prototype到底是怎么实现和被管理的呢?对于对象的prototype属性的说明,JavaScript手册上如是说:所有 JavaScript内部对象都有只读的 prototype 属性.可以向其原型中动态添加功能(属性和方法