JS中让人头疼的各种转换
数值转换
number()
1.布尔值,true转换为1,false转换为0;
2.数值,直接返回;
3.null,返回0;
4.undefined,返回NAN;
5.字符串,应用以下规则:
a.如果字符串包含数值字符,包括数字前面带加、减号的情况,则转换为一个十进制数值。因此,Number(‘1’)返回1,Number(‘123’)返回123,Number(‘011’)返回11(忽略前面的0);
b.如果字符串包含有效的浮点值格如“1.1”,则会转换为相应的浮点值(同样忽略前面的零);
c.如果字符串包含有效的十六进制格式如“0xf”,则会转换为与该十六进制对应的十进制整数值;
d.如果是空字符串(不包含字符),则返回0;
e.如果字符串包含上述情况之外的其他字符,则返回NaN;