1、Math对象定义的数学运算
JavaScript支持一些复杂的算术运算,这些复杂运算通过作为Math对象的属性定义的函数和常量来实现:
Math.pow(2,53) //=>9007199254740992:2的53次幂
Math.round(.6) //=>1.0:四舍五入
Math.ceil(.6) //=>1.0:向上求整
Math.floor(.6) //=>0.0:向下求整
Math.abs(-5) //=>5:求绝对值
Math.max(x,y,z) //返回最大值
Math.min(x,y,z) //返回最小值
Math.random() //生成一个大于等于0小于1.0的伪随机数
Math.PI //π:圆周率
Math.E //e:自然对数的底数
Math.sqrt(3) //3的平方根
Math.pow(3,1/3) //3的立方根
Math.sin(0) //三角函数:还有Math.cos,Math.atan等
Math.log(10) //10的自然对数
Math.log(100)/Math.LN10 //以10为底100的对数
Math.log(512)/Math.LN2 //以2为底512的对数
Math.exp(3) //e的三次幂
2、全局变量Infinity和NaN
(1)它俩表示神马呢?
JavaScript预定义了全局变量Infinity和NaN,用来表示正无穷大和非数字值。
(2)在哪里会见到这两匹神马?
JavaScript中的算术运算在溢出(overflow)、下溢(underflow)或被零整除时不会报错。
当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。
下溢(underflow)是当运算结果无限接近于零并比JavaScript能表示的最小值还小的时候发生的一种情形。(感觉有点儿类似于分辨率不够)这种情况下,JavaScript将会返回0.当一个负数发生下溢时,JavaScript返回一个特殊的值“负零”。这个值(负零)几乎和正常的零完全一样,JavaScript程序员很少用到负零。
被零整除在JavaScript中并不报错:它只是简单的返回无穷大(Infinity)或负无穷大(-Infinity)。但有一个例外,零除以零是没有意义的,这种整除运算结果也是一个非数字(not-a-number)值,用NaN表示。无穷大除以无穷大、给任意负数作开方运算或者算术运算符与不是数字或无法转换为数字的操作数一起使用时都将返回NaN。
上面这些应该是中学数学的知识吧,要是不学编程估计这一辈子是用不上了……T_T