数据类型转换分为隐式转换和显式转换
显示转换是指需要自己手动完成转换
隐式转换是指程序内部自动完成
显示转换:
1、Number() 转换为数值型
var str="你好"; 纯字符转换为NaN
var str="10"; 纯数字转换为数值
var str="1a"; 部分数字,部分字符还是转换为NaN
var a=false; 布尔值false为0,true为1
var b=null; 空置转换为0
var c; 未定义值转换为NaN
NaN 指非数值
2、parseInt() 将字符串转换为整型、parseFloat() 将字符串转换为浮点型
两种转换类似,只不过parseFloat可以保留小数位
纯字符串--->NaN
纯数字--->整数
var str="16a"; 部分数值部分字符 16
var str="a16"; 部分数值部分字符 NaN
通过parseInt转换数值可以从开始转换到字符前为止变成数值,如果第一位是字符,返回NaN
布尔值强转数值整型,返回NaN
undefined null 强转整型都是NaN
parseInt(字符,进制) 可以将制定进制方式字符串转换为10进制数值
3、String() 可以将任意类型的值,强制转换为字符串
null和undefined是不能转换的
toString可以将任何数字转换为任意进制,进制必须大于等于2并且小于等于36
也就是最小是2进制,最大是36进制,因为数字字母就36个
4、Boolean() 将一个值转换为其对应的Boolean值
"" 0 false undefined null NaN
这六个转换为布尔值都会变成false,除此之外转换都是true
隐式转换:
当数据类型不相同时,做数据的运算,就会自动将两端的数据转换为相同类型然后运算,这是隐式转换
隐式转换遵从与 String() Number() Boolean()