JS Lesson2 : Math()、parseInt()、parseFloat()、isNaN()、isInfinity()方法汇总

来源:互联网 发布:华为mate8 软件 编辑:程序博客网 时间:2024/06/13 12:06

JS中的Math方法:

  1. 1. Math.abs(num) : 返回num的绝对值  
  2. 2. Math.acos(num) : 返回num的反余弦值  
  3. 3. Math.asin(num) : 返回num的反正弦值  
  4. 4. Math.atan(num) : 返回num的反正切值  
  5. 5. Math.atan2(y,x) : 返回y除以x的商的反正切值  
  6. 6. Math.ceil(num) : 返回大于num的最小整数  
  7. 7. Math.cos(num) : 返回num的余弦值  
  8. 8. Math.exp(x) : 返回以自然数为底,x次幂的数  
  9. 9. Math.floor(num) : 返回小于num的最大整数  
  10. 10.Math.log(num) : 返回num的自然对数  
  11. 11.Math.max(num1,num2) : 返回num1和num2中较大的一个  
  12. 12.Math.min(num1,num2) : 返回num1和num2中较小的一个  
  13. 13.Math.pow(x,y) : 返回x的y次方的值  
  14. 14.Math.random() : 返回0到1之间的一个随机数  
  15. 15.Math.round(num) : 返回num四舍五入后的值  
  16. 16.Math.sin(num) : 返回num的正弦值  
  17. 17.Math.sqrt(num) : 返回num的平方根  
  18. 18.Math.tan(num) : 返回num的正切值  
  19. 19.Math.E : 自然数(2.718281828459045)  
  20. 20.Math.LN2 : 2的自然对数(0.6931471805599453)  
  21. 21.Math.LN10 : 10的自然对数(2.302585092994046)  
  22. 22.Math.LOG2E : log 2 为底的自然数(1.4426950408889634)  
  23. 23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518)  
  24. 24.Math.PI : π(3.141592653589793)  
  25. 25.Math.SQRT1_2 : 1/2的平方根(0.7071067811865476)  
  26. 26.Math.SQRT2 : 2的平方根(1.4142135623730951)

parseInt函数:(此处为转载,易懂) 将字符串转为为整形。

parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制


比如说parseInt("010",10)就是10进制的结果:10,parseInt("010",2)就是2进制的结果:2,parseInt("010",8)就是8进制的结果:8,parseInt("010",16)就是16进制的结果:16。


下面我来说说没有指定进制单位的时候,默认是10进制,但:如果是里面的Number是0开头的就认为是8进制的,如果是0x开头的就认为是16进制的


parseInt("10")==>parseInt("010",10)===>10

parseInt("010")==>parseInt("010",8)==>8

parseInt("0x10")==>parseInt("010",16)==>16.

parseInt(Number)如果中间的Number遇到不是数字(0-9)的就中断往下解析,就只取不是数字之前的值去运算:

比如parseInt("100x"),就相当于parseInt("100")===》parseInt("100",10)==>100,

又如parseInt("0100x")===>parseInt("0100")===>parseInt("100",8)===>64.

当如果第一个不是0且不是字符就认为是10进制,一切照旧执行,遇到字母就停下来。又当如果是第一个是0,如果是x就继续往下走,这里的x不代表数值,只能和前面的0一起

组成0x代表16进制的单位,后面的才按上面我们讲的遇到非数字停止解析的规则来。比如

parseInt("0xt")==>parseInt("0x")==>parseInt("",16)就是NaN了。

总结下,parseInt(Number)里面的值:

如果是第一位不是0就遇到字母就停止解析,并把字母前面的值作为10进制去解析,如果第一个就是字母那么值就是空,空成了NaN,比如:


parseInt("a")==>parseInt("",10)==>NaN.

parseInt("10a")==>parseInt("10")==>parseInt("10",10)==>10;

如果第一位是0,且第2位不是x也和上面一样遇到字母就停止解析,并把字母前面的值作为8进制去解析,比如:

parseInt("0a")==>parseInt("0")==>parseInt("0",10)==>0.

parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;

如果第一位是0,且第2位是x那后面也和上面一样遇到字母就停止解析,并把字母前面的值作为16进制去解析,比如:

parseInt("0xt")==>parseInt("",16)==>NaN.

parseInt("0x12t")==>parseInt("12",16)==>18.

另外,如果要转化为2进制,即:parseInt("11",2);   //  3


parseFloat():用于浮点型字符串

parseFloat()函数:类似于parseInt()函数,它返回字符串上包含的第一个浮点数。如果字符串不以有效浮点数开头,则返回0

例如:parseFloat("2.1e4xyz")返回21000;而parseFloat("xyz")返回0。

JavaScript中parseFloat函数方法是返回由字符串转换得到的浮点数。 使用方法:

parseFloat(numString)其中numString 参数是包含浮点数的字符串。JavaScript中parseFloat函数方法返回与 numString 中保存的数相等的数字表示。如果 numString 的前缀

不能解释为浮点数,则返回 NaN (而不是数字)。

parseFloat("abc") // 返回 NaN。 

parseFloat("1.2abc") // 返回 1.2。


isNaN():is not a number 用于判断是不是一个数字。

这个方法一般和parseInt和parseFloat结合用于判断返回的值是不是数字?(不确定)。语法是:isNaN(testvalue);

isNaN(NaN);//ture

这里面需要注意的几个地方是,NaN,如果将NaN作为与一个数值计算,那么结果也一定是NaN.


Infinity(正无穷)-Infinity(负无穷)

可以用isInfinity判断是不是无穷,返回bollen值

isFinite(1/0); // falseisFinite(-Infinity); // falseisFinite(NaN); // false

0 0