> 文档中心 > JS基本语法-JavaScript中的常用对象2-Math对象的max和random,即获取最大值和获取随机数函数

JS基本语法-JavaScript中的常用对象2-Math对象的max和random,即获取最大值和获取随机数函数

1. 简介:

本节来介绍Math函数(数学函数)中最常用的,也是比较容易出错的两个函数:max()和random(),即获取最大值和获取随机数函数。

2. max(n1,n2,n3,...):

max()函数用于获取参数中的最大值,可以有多个参数。如果想要得到一个正确的值,必须保证参数的类型都是数字或者可以转换为数字。

例子程序:

math_test.js中的max_test()函数:

function max_test(){//case1var res = Math.max(10,20);console.log("case1,res=",res); //case2res = Math.max(10,50,40,20,35,65);console.log("case2,res=",res);    //case3res = Math.max(-10,-20,-5,-15);console.log("case3,res=",res);//case4res = Math.max(10.5,20.5,15.5);console.log("case4,res=",res);//case5:无参res = Math.max();console.log("case5,无参,res=",res);//case6:有NaNres = Math.max(10,NaN,20);console.log("case6,无参,res=",res);//case7:有非数字var a = "a";res = Math.max(10,20,a);console.log("case7,无参,res=",res);}

测试结果(在对应的html中查看log信息):

case1,res= 20
math_test.js:8 case2,res= 65
math_test.js:12 case3,res= -5
math_test.js:16 case4,res= 20.5
math_test.js:20 case5,无参,res= -Infinity
math_test.js:24 case6,无参,res= NaN
math_test.js:29 case7,无参,res= NaN

说明:

如果参数中有NaN或者不能转换成数字的参数,则返回NaN,见case6和case7;

如果无参数,则返回 Infinity,见case5。

2. random():

获取随机数函数。

注意:获取到的是0(包含0)~1(不包含1)的值。

例子程序:

math_test.js中的random_test()函数:

function random_test() {//case1:获取0~1之间的随机数var res = Math.random();console.log("case1,random res=",res);//case2:获取0~100之间的随机数res = Math.floor((Math.random()*100)+1);console.log("case2,random res=",res);    }

测试结果:

case1,random res= 0.044891803755208626
math_test.js:39 case2,random res= 64

3. Math对象的其它函数和属性:

常用的如下:

属性:

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

函数:

abs(x)        //求 x 的绝对值。
acos(x)        //求 x 的反余弦值。
asin(x)        //求 x 的反正弦值。
atan(x)        //以介于 -PI/2 与 PI/2 弧度之间的数值来求 x 的反正切值。
atan2(y,x)    //求从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)        //对数进行上舍入。
cos(x)        //求余弦。
exp(x)        //求 Ex 的指数。
floor(x)    //对 x 进行下舍入。
log(x)        //求自然对数(底为e)。
max(x,y,z,...,n) //求 x,y,z,...,n 中的最高值。
min(x,y,z,...,n) //求 x,y,z,...,n中的最低值。
pow(x,y)    //求 x 的 y 次幂。
random()    //求 0 ~ 1 之间的随机数。
round(x)    //对x进行四舍五入。
sin(x)        //求数的正弦。
sqrt(x)        //求数的平方根。
tan(x)        //求角的正切。