数据类型转化
一、数值对象
Number()函数的转换规则:
1.如果是布尔值,true和false将分别转换为1和0
2.如果是数字值,只是简单的传入和返回
3.如果是null,返回0
4.如果undefined,返回NaN
二、字符串转数值型
如果是字符串,遵循下列规则:
a.“11”会变成11
b.“1.1”会变成1.1
c.“0xf”会变成相同大小的十进制整数值
d.如果字符串是空的,则将其转换为0
e.如果字符串包含除上述格式之外的字符,则将其转换成NaN
三、parseInt()的转换规则:
1.忽略字符串前面的空格,直到找到第一个非空格字符
2.如果第一个字符不是数字或者是负号,返回NaN
3.空字符串,返回NaN
4.如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符。
5.如果字符串以0x开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样。
四、parseFloat()的转换规则:
parseFloat()也是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。规则如下:
1.第一个小数点是有效的,第二个小数点无效
2.始终忽略前面的0,不分进制数
3.十六进制会被转换成0
4.空字符串转换为NaN
五、其他类型转为布尔类型规则:
方法:Boolean()
1.字符串:任何非空字符串转为true;“”(空字符串)转为false。
2.数值:任何非零数字值转为true;0和NaN转为false。
3.对象:任何对象转为true;null转为false。