字符类型转换-强制转换
将数据类型强制转换成想要的类型
字符串转换
- string();强制转换为字符串
- toString();可以将数值改变进制后转换为字符串,不能转换null和undefined类型
- toFixed(num); 将数值转换为字符串 并按小数点四舍五入 保留位数 但会有精度误差(任何数据都需要转换为二进制,原生js二进制小数转换以后 ,恢复会有误差)
数值转换
1.Number();
纯数字--》 数字
纯字符--》值类型为number 但是 值为 NaN
部分数字部分字符 --》 值依旧为NaN
布尔型 ---》0 或 1
undefined ---》NaN
null ---》0
- parseInt 强转为整数
纯数字–》整形
纯字符–》 NaN
布尔型、undefined、null–》NaN
注: 部分数字部分字符 --》通过parseInt转换为数值 可以从开始转换到字符位为止的数值 如果第一位是字符 返回NaN
parseInt(字符,进制) 将指定进制方式字符串转换为10进制 toString的逆转换
将什么进制的字符串转换为10进制 进制为你为字符设置的进制
-
parseFloat 强转为小数
类似parseInt 只不过可以保留小数位 -
布尔值转换 boolean(数值)
“”(空字符串) 0 false undefined null NaN --》false
隐式转换:
当数据类型不相同时 ,做数据运算, 会将两个数据自动转换为对应的类型
隐式转换遵从于String() Number() Boolean()
例如:
a=6 b=“a” a+b 这里将a隐式转换为字符串 并首尾相连相加
a=6 b=“a” a-b 这里将a b都转换为数值 6-NaN 结果为NaN
a=6 a+c c无值 会隐式转换为数值 6+1 输出为7
1+2+“3” 输出为 33
a=“b” c c无值 会隐式转换为字符串 a+c 输出为bundefined