JavaScript数据类型转换
数据类型的转换
转换为字符串类型:
toString():转成字符串;
String() :转成字符串;
+拼接字符串(隐式类型):用加号和字符串拼接,结果都是字符串
var a = 20;
//toString()
var b = a.toString(); //字符型20
console.log(typeof b); //string
//String
var c = String(a);//字符型20
console.log(String(a))//string
//隐式转换 +
console.log(10+'20'); //字符串1020
console.log(typeof(10+'20'));//string
console.log(true + '10');//字符串true10
数字类型的转换:
parseInt(string,radix):将string类型转换为整数;
parseFloat(string) :将string类型转换为浮点型数值;
Number(mix) :强制转换函数,将任意类型的参数mix转换为数值型;
(- * / ) (运算符隐式类型):利用算术运算隐式转换为数值类型;
//parseInt
console.log(parseInt(1.4));//1
console.log(parseInt(1.8));//1
console.log(parseInt('123abc'));//123
console.log(parseInt('abc123abc'));//NaN
//parseFloat
console.log(parseFloat('1.14'));//1.14
console.log(parseFloat('123.12abc'));//123.12
console.log(parseFloat('abc123px'));//NaN
//Number
console.log(Number('123'));//123
console.log(Number('123.12abc'));//NaN
console.log(Number('0x10'));//16
console.log(Number('010'));//10
console.log(Number('018'));//18
console.log(Number(true)); //1
console.log(Number("true"));//NaN
console.log(Number("123ABC"));//NaN
console.log(Number(Infinity+(-Infinity)));//NaN
console.log(Number(NaN));//NaN
布尔类型转换:
Boolean(mix) 函数:将其他类型转换为布尔值(true或者false);
//为false的情况
console.log(Boolean()); //false
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
//其他的情况基本都是true