JavaScript的数学函数全部封装在Math类里面,虽然使用频率不是太高,但却是必不可少的。
Math.PI //圆周率:3.14159265 Math.E //自然对数的底:2.718 Math.SQRT2 //2的平方根:1.414 Math.SQRT1_2 //1/2的平方根:0.707 Math.LN2 //2的自然对数:0.693 Math.LN10 //10的自然对数:2.302 Math.LOG2E //2为底e的对数:1.442 Math.LOG210E //10为底e的对数:0.434
Math.random() //产生一个大于等于0小于1的随机数
xx = Math.floor(Math.random() * 12); //产生一个大于等于0小于12的随机数
Math.ceil() //小数部分不为0,则强行进1 Math.floor() //小数部分强行舍去,即取整 Math.round() //小数部分四舍五入
xx = Math.ceil(3.0); //xx的值为3 xx = Math.ceil(2.001); //xx的值为3 xx = Math.floor(3.99); //xx的值为3 xx = Math.round(2.5); //xx的值为3 xx = Math.round(3.49); //xx的值为3
Math.max(x,y); //取最大值 Math.min(x,y); //取最小值 Math.abs(x); //取绝对值
xx = Math.max(-20,3); //xx的值为3 xx = Math min(23,3); //xx的值为3 xx = Math.abc(-3); //xx的值为3
Math.pow(n, m); //n的m次乘方 Math.exp(m); //e的m次乘方 Math.sqrt(n); //n的平方根 Math.log(n); //e为底n的对数 //注: 开n次方的函数没有,但可以根据对数求得。
xx = Math.pow(2,10); //xx的值为: 1024 xx = Math.exp(3); //xx的值为: 20.085536923187668 xx = Math.sqrt(10); //xx的值为: 3.1622776601683795 xx = Math.log(10); //xx的值为: 2.302585092994046
Math.sin(m); //正弦: (-1~1) Math.cos(m); //余弦: (-1~1) Math.tan(m); //正切: (-∞~∞) //注: 度数采用的是弧度,180度应转化为π(即Math.PI),36度也就是36/180*Math.PI。 //没有余切函数,余切为正切的倒数。
xx = Math.sin(30/180*Math.PI); //xx的值为: 0.49999999999999994 yy = Math.cos(30/180*Math.PI); //yy的值为: 0.8660254037844387 zz = Math.tan(45/180*Math.PI); //zz的值为: 0.9999999999999999 ww = eval(Math.pow(xx,2)) + eval(Math.pow(yy,2)); //zz的值为: 1
Math.asin(m); //反正弦: (-π/2~π/2) Math.acos(m); //反余弦: (0~π) Math.atan(m); //反正切: (-π/2~π/2)
xx = Math.asin(0.5)*180/Math.PI; //xx的值为: 30.000000000000003 yy = Math.acos(0.8660254037844387)*180/Math.PI; //yy的值为: 29.999999999999993 zz = Math.atan(1)*180/Math.PI; //zz的值为: 45
Math.atan2(y,x); //根据(x,y)的坐标求弧度: (-π~π) //注: 参数是反过来写的。
xx = Math.atan2(1, 1.732) //xx的值为: 0.5236114777699694 //即: (1.732,1)坐标的度数为: 30度
Math.max(x,y); //取x和y的最大值 Math.min(x,y); //取x和y的最小值
xx = Math.max(23, -100); //xx的值为: 23 xx = Math.min(23, -100); //xx的值为: -100