转字符串:
1、String(value)
2、toString(value)
注释:都可以把 true 转换成 "true",把 false 转换成 "false",但是String()对 null 和 undefined 值强制类型转换可以生成字符串而不引发错误:
var s1 = String(null); //"null" var oNull = null; var s2 = oNull.toString(); //会引发错误
转数字:
1、parseInt()
2、parseFloat()
3、Number()
var iNum1 = parseInt("12345red"); //返回 12345 var iNum1 = parseInt("0xA"); //返回 10 var iNum1 = parseInt("56.9"); //返回 56 var iNum1 = parseInt("red"); //返回 NaN
var fNum1 = parseFloat("12345red"); //返回 12345 var fNum2 = parseFloat("0xA"); //返回 NaN var fNum3 = parseFloat("11.2"); //返回 11.2 var fNum4 = parseFloat("11.22.33"); //返回 11.22 var fNum5 = parseFloat("0102"); //返回 102 var fNum1 = parseFloat("red"); //返回 NaN
Number(false) //0 Number(true) //1 Number(undefined) //NaN Number(null) //0 Number("1.2") //1.2 Number("12") //12 Number("1.2.3") //NaN Number(new object()) //NaN Number(50) //50
转布尔:
当要转换的值是至少有一个字符的字符串、非 0 数字或对象时,Boolean() 函数将返回 true。如果该值是空字符串、数字 0、undefined 或 null,它将返回 false。
var b1 = Boolean(""); //false - 空字符串 var b2 = Boolean("hello"); //true - 非空字符串 var b1 = Boolean(50); //true - 非零数字 var b1 = Boolean(null); //false - null var b1 = Boolean(0); //false - 零 var b1 = Boolean(new object()); //true - 对象
隐式转化:
1、相减
2、相除
var n1 = 1; var n2 = "2"; alert(n1 - n2);//返回-1
var n1 = 1; var n2 = "2"; alert(n1 / n2);//返回0.5
参考:类型转换