JS数据类型转换方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换
parseInt()和parseFloat()两个转换函数
parseInt()把值转换成整数
parseFloat()把值转换成浮点数只有对String类型调用这些方法这两个函数才能运行
parseInt()和parseFloat()都会分析该字符串
parseInt()方法查看下表位置0处的 字符判断它是否是个有效数字如果不该方法将返回NaN不再继续执行其他操作但如果该字符是有效数字就会查看位置1处的字符,进行同样的测试。持续到发现非有效数字的字符为止,parseInt()将把该字符之前的字符串转换成数字
parseInt("1234blue");//return 1234
parseInt("22.5");// return 22 对于整数来说,小数点是无效字符
parseInt("blue");//return NaN
parseInt()方法还有基模式可以把二进制八进制十六进制或其他任何进制的字符串转换成整数基是由parseInt()方法的第二个参数定的
parseInt("AF",16); //return 175 十六进制
parseInt("10",2);//return 2 二进制
parseInt("10",8);//return 8 八进制
parseInt("10",10);//return 10 十进制
parseFloat()方法与parseInt()方法的处理方式相似
强制转换
Boolean(value)-把给定的值转换成Boolean型,如果转换的值是至少有一个字符的字符串、非0数字或对象时,返回true如果该值是空字符串、数字0、undefined或null,返回false
Boolean("");//return false
Boolean("hi");//return true
Boolean(100);//return true
Boolean(null);//return false
Boolean(0);//return false
Boolean(new Object());//return true
Number(value)把给定的值转换成数字(整数或浮点数)如果转换的值不是数值返回NaN
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
String()
对null或undefined值强制类型转换可以生成字符串
var s1 = String(null); //"null"
var oNull = null;
JavaScript中,因为约束比较弱,所以容易出现这种错误例子:
var a =200;
var b ="1";
var c= a + b;
你可能期望c是201,但实际上它是"2001",这个错误在强类型语言中决不会出现。然而正是因为JavaScript没有这些约束,所以可以很方便地拼接数字和字符串类型