提到类型转换就不得不说typeof(),它可以判断参数的数据类型,记住返回值为字符串类型且为小写字母,返回值有’number’、‘string’、‘object’、‘function’、‘undefined’,5中类型
typeof NaN // 'number'
typeof []、typeof {}、typeof null // 'object'
注意:typeof null返回object是历史遗留问题随着javascript的更新也没有解决,需要特殊记一下
typeof undefined // 'undefined'
显示类型转换(Number()、String()、Boolean()、parseInt()、parseFloat()、toString())
Number():将整个参数转换成数字,如果不能就是NaN,下面是几个特殊值
Number(undefined) //NaN
Number(null)//0
Number(NaN)//NaN
String():将参数转化成字符串,不过多赘述
toString():将调用这个方法的数据转化成字符串形式,但undefined、null不能调用toString方法,会报错;toString()的参数为进制转化的基底,可以将10进制的数字转化为以参数为基底的目标进制
var test = 100
var number = test.toString(2)
test.toString(2) // 1100100
注意调用toString()进行进制转换必须借助变量比如代码中的test,不然会报错
Boolean():将参数转化成布尔值
Boolean('') //false
Boolean(null)、Boolean(undefined)、Boolean(NaN) //false
Boolean([])、Boolean({})、Boolean(function (){})//true
parseInt():参数转换成整型,parseInt()如果不能将整个参数转化成数字,可以将参数某个部分尽可能将参数转化成数字
parseInt('500px') // 500
Number('500px') // NaN
顺便提一嘴,parseInt()还可以传第二个参数用于进制转换,将目标进制转化成10进制
parseFloat():参数转化成浮点型,类似于parseInt()