一、typeof 判断数据类型
typeof 数据 返回数据的类型
例如 type “aaa” 返回string,string
var a;
console.log(typeof a);
因为没有赋值,所以它是undefined
var b=null
console.log(typeof b);
b的类型是object
二、强制转换
主动将数据的类型强制转换为某种类型
强转字符串
String(数据) 强制转换为字符串
数据.toString(进制) 强制转换为字符串 null和undefined是不能转换的
toString可以将任何数字转换为任意进制,进制必须大于等于2并且小于等于36 也就是最小是2进制,最大是36进制,因为数字字母就36个
toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数
强转数值
Number(数据)
NaN 非数值 类型是number
纯字符—》 NaN
纯数字—》数字
部分数字,部分字符—》NaN
布尔值—》数字 true—>1 false—>0
undefined—>NaN
null—>0
强转为整数 parseInt(字符,进制)
可以将指定进制方式字符串转换为10进制数值,是toString()逆转换
纯字符—》 NaN
纯数字—》数字
部分数字,部分字符—》 通过parseInt转换数值可以从开始转换到字符前为止变成数值,如果第一位是字符,返回NaN
布尔值强转数值整型,会变成NaN
undefined—>NaN
null—>NaN
强转为小数
parseFloat(); 强转小数和parseInt类似,只不过可以保留小数位
转换为布尔值
Boolean(数据) 转换为布尔值
“” , 0 , false, undefined, null, NaN 转换为布尔值都会变成false,除此之外转换都是true
三、隐式转换
当数据类型不相同时,做数据的运算,就会自动将两端的数据转换为相同类型然后运算,这是隐式转换
隐式转换遵从与 String() Number() Boolean()