JavaScript的 Math对象 的属性提供了常用的数学常数值,当我们需要这些常数时,可以直接使用这些常数。Math对象的属性如下:
属性 描述 Math.E 数学常量e的值,其值为2.718281828459045091 Math.LN2 2的自然对数值,其值为0.6931471805599452862 Math.LN10 10的自然对数值,其值为2.302585092994045901 Math.LOG2E log 2 e的值,其值为1.442695040888963387 Math.PI 数学常量π的值,其值为3.141592653589793116 Math.SQRT1_2 2的平方根的值的二分之一,其值为0.7071067811865475244 Math.SQRT2 2的平方根的值,其值为1.4142135623730951
Math对象提供了完整的数学计算所需要的函数和方法,例如三角函数、随机数、四舍五入、计算平方根等。下表中列出了Math对象的方法。
方法 描述 Math.abs(x) 返回x的绝对值 Math.acos(x) 返回x的反余弦值,返回值的单位为弧度,值域在0-π之间 Math.asin(x) 返回x的反正弦值,返回值的单位为弧度,值域在-π/2 - π/2之间 Math.atan(x) 返回x的反正切值,返回值的单位为弧度,值域在-π/2 - π/2之间 Math.atan2(y,x) 计算x/y的反正切值,返回值的单位为弧度,值域在-π - π之间 Math.ceil(x) 返回大于等于x但最接近x的整数 Math.cos(x) 返回x的余弦函数值,x的单位为弧度 Math.exp(x) 返回e x 的值,e是欧拉常数 Math.floor(x) 返回小于等于x但最接近x的整数 Math.log(x) 返回x的自然对数值 Math.max(args...) 返回一组参数中的最大数。没有参数时返回-Infinity,如果任何参数的值为NaN或任何参数的值不能转换为数值,那么该方法返回NaN Math.min(args...) 返回一组参数中的最小数。没有参数时返回-Infinity,如果任何参数的值为NaN或任何参数的值不能转换为数值,那么该方法返回NaN Math.pow(x,y) 计算x y 的值 Math.random() 返回0.0-1.0之间的一个伪随机数 Math.round(x) 返回最接近x的整数,及对x做四舍五入运算 Math.sin(x) 返回x的正弦值,x的单位为弧度 Math.sqrt(x) 返回x的平方根,x大于等于0 Math.tan(x) 返回x的正切值,x的单位是弧度
JavaScript提供了3个Math对象的方法进行数值的截断运算。这3个方法分别是 ceil() , floor() 和 round() 。
1、 ceil() 方法
ceil(x) 方法返回大于等于x但最接近x的整数,它也被称为向上取整。例如, ceil(6.05) 的返回值为7,7是大于6.05且最接近6.05的整数。 ceil(-6.05) 的返回值是-6,-6是大于-6.05且最接近-6.05的整数。
2、 floor() 方法
floor(x) 方法返回小于等于但是最接近x的整数,它也被称为向下取整。例如, floor(6.95) 的返回值是6,6是小于6.95且最接近6.95的整数。 floor(-6.95) 的返回值是-7,-7是小于-6.95且最接近-6.95的整数。
3、 round() 方法
round() 方法实现四舍五入。例如, round(2.5) 和 round(2.8) 的值都是3,而 round(2.1) 和 round(2.3) 的值都是2。
JavaScript还提供了一个全局函数 parseInt() ,该函数简单的截断(丢弃)数值中的小数部分。例如, parseInt(6.9) 的值是6。
我们在编写程序的时候,经常需要使用到随机数。Math对象的 random() 方法可以生成0-1之间的随机数,它的随机种子采用系统时间,因此可以保证每次调用 random() 方法时都会得到不同的伪随机数序列。
当需要其他范围的随机数的时候,可以采用放大倍数和截断的方法来实现。例如,如果需要0-100之间的随机数,那么使用表达式 floor(Math.random()*100) 就可以实现。
下面是一个有趣的掷骰子的例子,它使用 Math.random() 来获取随机的骰子数:
查看更多关于JavaScript核心对象-Math对象的详细内容...