为什么要进行类型转换???
服务器请求回来的数据,有可能是字符串,比如age='18',
var age = '18';
console.log(age+1);// 181
查看变量的类型
typeof关键字可以查看数据的类型
var num = 11;
console.log(typeof num);//number
num = "abc";
console.log(typeof num);//string
小技巧:在控制台可以根据颜色来判断数据的类型哦(*^__^*)
转换number类型
-
Number()
console.log(Number('55')); Number()可以把任意值转换成数值类型,但是如果字符串中有不是数字的字符,返回NaN
-
parseInt() & parseFloat()
parseInt() 把字符串类型的整数或者小数都转化为整数; parseFloat() 把字符串类型的整数转化整数,把小数转化为小数
var num1 = parseInt("12"); // 12 var num1 = parseInt("12.3"); //12 var num1 = parseFloat("12"); //12 var num1 = parseFloat("12.3");//12.3 var num1 = parseInt("12.3abc"); // 返回12,如果第一个字符是数字会解析直到遇到非数字结束 var num2 = parseInt("abc123"); // 返回NaN,如果第一个字符不是数字或者符号就返回NaN
-
算术运算 (最常用)
var str = '500'; console.log(+str); // 取正 console.log(-str); // 取负 console.log(str/1); //除1 console.log(str-0); //减0
转换成 字符串类型 string
-
String ( )
var num = 5; num = String(num); console.log(typeof num);//string
-
toString ( )
var num = 5; console.log(num.toString());// 把数值5变成字符串5
-
拼串,(最常用)
var num = 5; num = num + ""; console.log(typeof num);//string
转换成布尔类型
-
当进行布尔值判断时
0
,""
,undefined
,null
,NaN
,这几个值会转换成false,其他值都会转换成true -
Boolean()
var a = "sss"; console.log(Boolean(a))//true
var a = ""; console.log(Boolean(a))//false
-
!!
var a = "abc"; console.log(!!a);//true
var a = ""; console.log(!!a);//false