JS中常用的数据类型及其转换

204 阅读1分钟

JS中常用的数据类型: 其中isNaN为检测一个值是否为非有效数字(如果不是有效数字返回true,反之是有效数字返回false),在使用isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于Number()这个方法,把值转换为数字类型,然后再检测;如果检测的值是有效数字,就返回false,反之返回true

		console.log(isNaN('10'));//false
		console.log(isNaN(23)) // false
        console.log(isNaN(NaN)) // true
        console.log(isNaN(true)) // 1=>false
        console.log(isNaN(null)) // 0=>false
        console.log(isNaN(undefined)) // NaN =>true

把其他类型值转换为数字类型: 把其他类型值转换为字符串: 把其它类型值转换为布尔类型: 最后补充:

Number()它是按照浏览器从底层机制,把其他数据类型转换为数字
 - 字符串:看是否包含非有效数字字符,包含结果就是NaN;"" ==>0
 - 布尔:true ==>1   false==>0
 - null ==> 0
 - undefined ==>NaN
 -引用类型值都要先转换为字符串再转换为数字
  +{}/正则/函数等  ==>[object Object] ==> NaN
  +[] ==> 0
  +['12'] ==>'12' ==> 12
  +[12,23] ==> '12,23' ==>NaN
 parseInt/parseFloat([val])遵循按照字符串从左到右查找的机制找有效数字字符(所以传递的值一定是字符串,不是也要转换为字符串然后再查找)
  -parseInt(undefined) ==> parseInt('undefined') ==> NaN
  -parseInt('') ==> NaN  //因为没找到有效数字字符