四、数据类型转换
1.toString()函数 能够把JS的数据类型转换成字符串
var a = true;
console.log(typeof a.toString()) //结果为 string
(1) 原始值
(a)数字类型转换为字符串
var a = 123;
console.log( typeof a.toString()) // 123 => '123'
(b)布尔值转换成字符串
var a = true;
console.log(typeof a.toString()) //结果为 string true => 'true'
(c)null/undefined不能使用toString函数 变成字符串
(2) 引用值
( a ) 普通对象 {} => ‘[object Object]’
( b ) 数组对象 [1,2,3] => ‘1,2,3’
( c ) 函数对象 function(){} => ‘function(){}’
var a = [1,2,true,{},function(){}]
console.log(a.toString()) //结果为 1,2,true,[object Object],function(){}
2.Boolean()函数 能够把JS的其他数据类型转换成布尔值
以下六种情况Boolean(被转换的数据)的结果是false,其余全是true
0 //数字0
NaN
‘’ //空串
false
undefined
null
3. Number() 函数 能够把其他JS的数据类型转成数字类型
(1) 原始值
( a ) 字符串中只要含有非数字(除了数字 负号 和小数点之外的转换为数字时为NaN包括空格和空串
( b ) 布尔类型使用Number函数转换成数字类型
Number(true) => 1
Number(false) => 2
( c ) null使用Number函数转换成数字类型结构结果为0
( d ) undefined类型使用Number函数转换成数字类型
Number(undefined) => NaN
(2) 引用值:
普通对象使用Number函数转换成数字类型(先对象转换为字符串在将字符串转换为数字)
Number([1]) --> Number('1') --> 1
Number([1,2,3]) --> Number('1,2,3') --> NaN
Number(function(){}) --> Number('function(){}') --> NaN
4. isNaN()函数可以判断一个数字是否为NaN
isNaN(true) => isNaN(1) => false
isNaN(function(){}) => isNaN(NaN) => true
isNaN([1,2]) => isNaN(NaN) => true
isNaN([1]) => isNaN(1) => false
isNaN('123zh') => isNaN(NaN) => true
isNaN(null) => isNaN(0) => false
isNaN(undefined) => isNaN(NaN) => true
5. parseInt()和parseFloat()
(1) parseInt():
从左向右提取数字遇到数字之外(空格 小数点)的就会停止提取
(2) parseFloat():
从左向右提取数字遇到数字和小数点之外(空格)的就会停止提取