1、说到数据类型转换,首先要介绍一下有哪些数据类型?
(1)基本数据类型:指简单的数据类型。有五种,分别是:
-
-
字符串 → String
-
布尔 → Boolean
-
未定义 → Undefined
-
空 → Null
(2)引用数据类型(复杂数据类型) 有多种,比如:
-
-
日期 → Date
-
对象 → Object
-
...
2、数据类型转换
(1)强制转换:就是手动的通过转换工具将一个数据转换成另一种类型的数据。
① 其他数据类型转换数字 Number
- Number(其他数据);
//数值字符串转数字 var result1 = Number(‘123‘); console.log(result1);//123 console.log(typeof(result1)); //number //非数值字符串转数字 var result2 = Number(‘abc‘); console.log(result2); //NaN,‘abc‘整体不是数值,转换不了正常的数字。 console.log(typeof(result2)); //number //非数值字符串转数字 var result3 = Number(‘12abc‘); console.log(result2); //NaN,‘12abc‘不是数值,转换不了正常的数字 console.log(typeof(result2)); //number //布尔值转数字 var result4 = Number(true); var result5 = Number(false); console.log(result4) //1 console.log(result5) //0 //undefined 转数字 var result6 = Number(undefined); console.log(result6); //NaN //null 转数字 var result7 = Number(null); console.log(result7); //0
- parseInt(其他数据);
//与Number工具不同是,parseInt能将正常的字符串数值转换为整数 //数值字符串转数字 var result1 = parseInt(‘123.34‘); console.log(result1);//123 console.log(typeof(result1)); //number //非数值字符串转数字 var result2 = parseInt(‘abc‘); console.log(result2); //NaN,‘abc‘整体不是数值,转换不了正常的数字。 console.log(typeof(result2)); //number //非数值字符串转数字 var result3 = parseInt(‘12abc‘); console.log(result2); //12,会把最前面的数字提取出来 console.log(typeof(result2)); //number //布尔值转数字 var result4 = parseInt(true); var result5 = parseInt(false); console.log(result4) //NaN console.log(result5) //NaN //undefined 转数字 var result6 = parseInt(undefined); console.log(result6); //NaN //null 转数字 var result7 = parseInt(null); console.log(result7); //NaN
- parseFloat(其他数据);
- 与parseInt不同的是,可以将正常的小数字符串数值转换成数字类型的小数,其他情况都和parseInt相同。
var result1 = parseFloat(‘3.14‘); console.log(result1); //3.14 console.log(typeof(result1)); //number
注意事项:①Number 可以将true和false 转换成1、0 但是parseInt 和parseFloat 将true和false 转换成 NaN
②Number 可以将null转换成0 ,parseInt 和parseFloat 将null转换成 NaN
未完待续……