JavaScript内置的Math对象可以实现很多跟数学计算相关的功能。
先概览一下Math对象常用的方法:
Math.PI返回的是实数3.141592653589793,即圆周率。
Math.PI; // 返回 3.141592653589793
Math.round(x)可四舍五入返回最近的整数。
Math.round(4.5); // 返回 5 Math.round(4.4); // 返回 4
Math.pow(x, y)返回的结果是数字x的y次幂。(或称之次方)
Math.pow(2, 3); // 返回 8
Math.sqrt(x)返回的结果是数字x的开方结果。
Math.sqrt(4); // 返回 2
Math.sqrt(x)开方,求的是x的2次方结果;若想开数字x的任意次方该怎么办呢?不难,使用求幂函数即可,比如想开数字x的n次方,那么使用 Math.pow(x, 1/n) 即可求得结果。
Math.pow(8, 1/3); // 返回 2
Math.abs(x)可返回数字x的绝对值。
Math.abs( -6.66 ); // 返回 6.66
Math.ceil(x)返回最接近x且大于等于x的整数。
Math.ceil( 7.1 ); // 返回 8
Math.floor(x)最接近x且小于等于x的整数。
Math.floor( 8.9 ); // 返回 8
Math.sin(x)会根据传入的角度弧度x返回正弦结果,即-1~1的实数。而弧度的计算方式是角度度数 * PI / 180
。
Math.sin(90 * Math.PI / 180); // 返回1 (90度)
Math.cos(x)会根据传入的角度弧度x返回余弦结果,即-1~1的实数。而弧度的计算方式是角度度数 * PI / 180
。
Math.cos(0 * Math.PI / 180); // 返回1 (0度)
Math.min()可返回一堆数字中的最小值;而Math.max()可返回一堆数字中的最大值。
Math.min( 7, 36, 72, 666, -1 ); // 会返回 -1 Math.max( 7, 36, 72, 666, -1 ); // 会返回 666
Math.random()可返回[0,1)区间的随机数。(所谓的0到1,包括0,但1不包括在内;换言之,假设随机出现的实数为x,那么 0 <= x < 1 )
Math.random(); // 返回[0,1)区间的随机数
关于Math.random()方法的更多使用技巧,请阅读《JavaScript Random随机数专题》。
JavaScript的Math对象中提供了一些常用的数学常量如下:
Math.E // 返回欧拉指数 Math.PI // 返回圆周率 Math.SQRT2 // 返回2的平方根 Math.SQRT1_2 // 返回1/2的平方根 Math.LN2 // 返回log2的结果 Math.LN10 // 返回log10的结果 Math.LOG2E // 以2为底,E的对数 Math.LOG10E // 以10为底,E的对数