数据类型
在JS中数据类型有:String(字符串型)、Number(数字型)、Boolean(布尔型)、Object(对象)、Null、Undefined
typeof操作符
typeof操作符是用来检测变量的数据类型。对于值或变量使用typeof 操作符会返回值或变量对应的数据类型。
例如:
打印得到的结果为:
数据类型的转换分为强制转换和隐式转换
强制转换
1.强转为字符串
1)String(数据) 强制转换为字符串
2)数据.toString(进制) 强制转换为字符串
toString可以将任何数字转换为任意进制,进制必须大于等于2并且小于等于36,也就是最小是2进制,最大是36进制。
其中null和undefined是不能转换的
3)toFixed(小数点后几位) 强制转换为字符串
将数值转换为字符串,并且按照小数点四舍五入保留位数
2.强转为数值
Number(数据) 强制转换为数值型
需要注意的是NaN—>非数值,它的类型是number
纯字符强转为数值型后得到的是NaN;
纯数字强转为数值型后得到的是数字;
部分数字,部分字符强转为数值型后得到的是NaN;
var num=parseInt(str,进制);如果 第二个“进制”没有填值,则默认表示10进制数值转换,填值则代表的是被转换的那个值是几进制
布尔值强转为数值型后得到的是:
true转换之后得到的1,false转换之后得到的是0
undefined强转为数值型后得到的是NaN;
null强转为数值型后得到的是0;
3.强转为整数
parseInt(字符,进制)
可以将指定进制方式字符串转换为10进制数值,是toString()逆转换
纯字符强转为整数型后得到的是NaN;
纯数字强转为整数型后得到的是数字;
部分数字,部分字符:如果第一位开始是数字强转为整数型后得到的是数值知道碰到字符为止,如果第一位是字符则为NaN;
布尔值强转为整数型后得到的是NaN;
undefined强转为数值型后得到的是NaN;
null强转为数值型后得到的是NaN;
4.强转为小数
parseFloat(); 强转小数和强转为整数parseInt类似,只不过可以保留小数位
4.强转为布尔型
Boolean(数据) 转换为布尔值
“”, 0, false,undefined,null,NaN 转换为布尔值都会返回false,除此之外转换都是true
隐式转换
当数据类型不相同时,做数据的运算,就会自动将两端的数据转换为相同类型然后运算,这是隐式转换
做加减乘除运算时会触发隐式转换:
by 逆战班