javascript有多种数据类型,如字符串、数字、布尔等,可以通过typeof语句来查看变量的数据类型。
数据类型转换就是数据类型之间相互转换,比如把数字转成字符串、把布尔值转成字符串、把字符串转成数字等,这在工作也是经常碰到的。
在操作数据之前先把数据类型确认一下(不是必须的),然后再进行处理。
比如你获取了一个数字5,其实它是字符串类型,只是看着像数字5,然后跟一个数字2进行加法运算。你希望得到的结果是7,实际结果是52,且是字符串类型的。
alert(‘5’ 2); // 输出52alert(typeof (‘5’ 2)); // 输出string
看到这个结果,是否感到不可思议。
这时就得用到数据类型转换了,把字符串类型的5转成数字类型的5,然后再进行运算,可以使用Number()、parseInt()来转换。
alert(Number(‘5’) 2); // 输出7alert(typeof (Number(‘5’) 2)); // 输出number
有哪些转换形式呢
String()可以将数字、变量、布尔、表达式、数组、对象等转成字符串。
String(12);String(100 12);var x = 3;String(x);String(new Date());String(false);
数字、布尔、日期等对象的toString()方法也可以转成字符串。
(12).toString();false.toString();(new Date()).toString();
Number()可以将字符串转成数字。
Number(‘123′);//123Number(”);//0;Number(’11 22’);//0parseFloat()将字符串转成浮点数。parseInt()将字符串转成整数。Number(false); // 0Number(true); // 1Number(new Date());//日期转数字(new Date()).getTime();//转数字
一元操作符( )可以将变量转成数字。
var x = ‘3’; // 字符串var y = x; // 数字var x = ‘hello’; // 字符串var y = x; // 数字NaN
自动转换数据类型。
5 null // 返回 5 null 转换为 0″5″ null // 返回”5null” null 转换为 “null””5” 1 // 返回 “51” 1 转换为 “1” “5” – 1 // 返回 4 “5” 转换为 5
当尝试输出一个对象或变量时,javascript会自动调用变量对象的toString()方法,将对象或者变量转成字符串。
document.getElementById(“demo”).innerHTML = myVar;myVar = {name:”Fjohn”} // toString 转换为 “[object Object]”myVar = [1,2,3,4] // toString 转换为 “1,2,3,4”myVar = new Date() // toString 转换为 “Fri Jul 18 2019 09:08:55 GMT 0200”
上面介绍了数据类型的转换形式及常用的转换方法。
这些方法在工作中经常用到,如果对数据转换不熟,在工作中会碰到一些意想不到的结果。
熟悉了这些转换方法,在工作中会有意识的转换数据类型,得到可信任的结果。