12.数据类型的强制转换
1.其它数据类型转为数字
引用数据类型转为数字,先内置调用toString()方法,然后再去转为数字
-
Number(数据);
-
将转完后的值 返回 转不成具体的数值 返回NaN
-
字符串转为数字,必须是纯数字字符串,一旦遇到非数字字符,就停转转换返回NaN,但是可以识别小数(只能识别一个小数),可以保留小数
-
布尔类型转为数字 true->1 false->0
-
null -> 0 ""->0 [ ]->0
-
其它类型转为数字都是NaN
-
-
parseInt(数据);
-
字符串转为数字一旦遇到非数字字符就停止转换了,并且不识别小数点,开头就是非数字字符返回NaN (转为整数)
-
其它类型全部返回NaN
-
数组特殊
-
-
parseFloat(数据);
-
字符串转为数字一旦遇到非数字字符就停止转换了,识别小数点,开头就是非数字字符返回NaN (只能识别一个小数点)
-
其它类型全部返回NaN
-
数组特殊
-
2.其它数据类型转为布尔
对于单个数据而言,只有0 NaN null undefined "" 是假的 其它的都是真的
-
Boolean(数据);
3.其它类型转为字符串
区别:String(数据);可以将所有其它数据类型转为字符串,而变量.toString();,null和undefined没有这个属性
-
String(数据);
-
返回字符串(任意数据类型都可以转为字符串)
console.log(String({})); //'[object Object]' -> object:属于对象 Object:对象类 console.log(String({ name: "哈哈" }));//'[object Object]' console.log(String([])); //"" console.log(String([1, 2, 3, {}])); //1,2,3,[object Object]
-
变量.toString();
基本数据类型要用变量点出来
console.log(nul.toString());//和undefined没有任何属性 //TypeError: Cannot read property console.log(undef.toString());//undefined没有任何属性 //TypeError: Cannot read property
引用数据类型都可以