(1)转换成布尔类型:通过Boolean函数强制转换成布尔值。
A、0、-0、0.0→false;
B、NaN→false;
C、空字符串→false;
D、undefined→false;
E、null→false。
(2)转换成字符串
A、通过String函数转换成字符串。
(A)数值→数值本身;
(B)字符串→字符串本身;
(C)true→”true”,false→”false”;
(D)undefined→”undefined”;
(E)null→”null”;
(F)NaN→”NaN”;
B、转换成字符串型:toString()。
(3)转换成数值
A、Number函数强制转换成数值。
(A)数值→转换成原来的值;
(B)字符串→如果可以解析为数值,则转换成数值,否则转换成NaN或者0。
(C)true→1,false→0;
(D)undefined→NaN;
(E)null→0。
B、转换成整型:parseInt(string,radix):返回转换成整数的值,注意:
(A)当参数radix的值的0,或者没有设置这个参数,parseInt()会根据string来判断数字的基数;
(B)当忽略radix,JavaScript默认数字的基数规则为:
a、如果String以0x开头,parseInt()会把String的其余部分解析为十六进制的整数;
b、如果String以0开头,那么ECMAScriptv3允许parseInt()的一个实现把其后的字符解析为八进制或十六进制的数字;
c、如果String以1——9的数字开头,parseInt()将把它解析为十进制的整数;
d、字符串如果以合法字符开始,截取合法字符;
e、开头和结尾的空格是允许的;
f、如果字符串的第一个字符不能被转换为数字,parseInt()会返回NaN。
g、在字符串以“0”为开始时旧的浏览器默认使用八进制基数。ECMAScript5默认的是十进制基数。
C、转换成浮点型:parseFloat(string):返回转换成浮点型的值。
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
(4)注意:Number函数将字符串转换为数值比PraseInt函数严格很多。基本上只要有一个字符无法转换成数值,整个字符串就会被转换成NaN。