-
数据类型转换分为两种
-
显式转换(强制转换):通过js的方法,转换成自己想要的数据类型
-
隐式转换:在js进行某些运算的时候 自动完成转换数据类型
-
1 .强制转换
强制转换为number
-
Number(要转换的数据)
-
作用:将数据转换成number类型,如果转换不了则是返回NaN
-
<script>
// Number类型转换
// 1.number类型
var n1 = 10;
console.log( Number(n1) );//10
// 2.string类型转换
var n2 = "10";
console.log( Number(n2));//10
var n3 = "10px";
console.log(Number(n3));//NaN
var n4 = "px10abc";
console.log(Number(n4));//NaN
var n5 = "";
console.log(Number(n5));//0
// 3.boolean类型
var n6 = true;
console.log(Number(n6));//true----1
var n7 = false;
console.log(Number(n7));//false----0
// 4.undefined
var n8 = undefined;
console.log(Number(n8));//NaN
// 5.null
var n9 = null;
console.log(Number(n9));//0
// 总结:Number可以转换的有:string类型(纯数字,""-0 " "-0) boolean(true-1 false-0) null(0)
</script>
-
parseInt(要转换的数据)
-
==主要是针对字符串数据操作==
-
作用:将数据转换成number类型,从左往右转换,遇到不能转换的或者是末尾结束,如果一开始都不能转换则是NaN 并且取整(舍弃小数)
-
<script>
// parseFloat: 将数据转换成number类型,从左往右转换,遇到不能转换的或者是末尾结束,如果一开始都不能转换则是NaN 保留小数
var n1 = "10.8";
console.log(parseFloat(n1));//10.8
var n2 = "10.8px";
console.log(parseFloat(n2));//10.8
var n3 = "px10.8";
console.log(parseFloat(n3));//NaN
var n4 = "11.8px1234";
console.log(parseFloat(n4));//11.8
var n5 = undefined;
console.log(parseFloat(n5));//NaN
</script>
强制转换为string
-
String(要转换的数据)
-
作用:将数据强制转换为string类型 直接在数据外面加""
-
<script>
// String():将数据强制转换为string类型 直接在数据外面加""
var s1 = 10;
console.log(String(s1));// "10"
var s2 = null;
console.log(String(s2));// "null"
var s3 = undefined;
console.log(String(s3)); //"undefined"
var s4 = true;
console.log(String(s4));// "true"
</script>
-
要转换的数据.toString(num)
-
num表示转换num进制的字符串 不写默认是10进制
-
<script>
// toString
var n1 = 10;
console.log(n1.toString());//"10"
var n2 = true;
console.log(n2.toString());// "true"
// undefined没有tostring方法
var n3 = undefined
// console.log(n3.toString());//报错
var n4 = null
// null 没有tostring方法
console.log(n4.toString());//
</script>
强制转换为Boolean
-
Boolean() : 强制转换为Boolean类型 结果为true,false
<script>
// Boolean(要转换的数据) 将数据转换boolean类型 转换结果只有两种true和false
// 1.number类型转换 非0即真(只要不是0 都是true)
var b1 = 1;
console.log(Boolean(b1));//true
var b2 = 0;
console.log(Boolean(b2));//false
// 2.string类型转换 有值即为真
var b3 = "中文wertyuewrty";
console.log(Boolean(b3));//true
var b4 = "";
console.log(Boolean(b4));//false
//3.undefined
var b5 = undefined;
console.log(Boolean(b5));//false
// 4.null
var b6 = null;
console.log(Boolean(b6));//false
// 5.NaN
var n7 = NaN;
console.log(Boolean(n7));
//总结:Boolean结果为false的有:0 null undefined "" NaN
</script>