转换为数字:
parseInt();转换为整数型数值;从下标0开始判断,若为数值型则继续直到遇到非数值,返回前面的整数值;
小数点无效,若0开始为非数值则返回NaN; 转换空字符串会返回NaN;能转换为不同的进制;如:var a=parseInt("123",2);//返回结果为2进制
parseFloat();转换为小数;从下标0开始,只有10进制形式;若有第二个小数点则第二小数点无效后面全部舍弃,
返回前面值,若0开始为非数值则返回NaN;会忽略前导0;如:var b=parseFloat(010);//10;强制类型转换:
Boolean(); 任何非空字符串为true;任何非0数字值(包括infinity)为true;任何对象为true、null为false;undefined只能为false;
Number();若为Boolean值,true与false转换为1/0;null转换为0;undefined转换为NaN;
字符串:只包含数字(包括正、负号)转换为10进制数,前导0忽略;若为浮点数,转换为浮点数值,前导0忽略;
包含16进制,转换为相同大小的十进制数值;若为空,则转换为0;若包含前面几种之外的转换为NaN;
对象:调用对象的valueOf()方法,然后照前面规则转换返回值,若结果为NaN,则调用toString();然后照
前面规则转换返回字符串值。
Number();与parseInt();区别在于:若字符串中存在前面数字后面非数,前者返回NaN,后者返回非数前边的数字;
处理空字符串,前者返回0;后者返回NaN;
String();数值、布尔值、字符串值、对象都有toSting()方法,null、undefined没有,所以不能用同toString()方法转换这
2种,否则会报错,这就是String()与toString()间的区别;
转换规则:
若值有toString()方法,则调用该方法返回相应的结果;若为null则返回“null”;若为undefined则返回“undefined”;