基本数据类型
Number, String, Boolean, null, undefined
引用类型
Object
ES6新增
Symbol
typeof操作
typeof 操作返回一个字符串('string', 'number', 'boolean', 'object', 'function', 'undefined', 'symbol')
声明但未赋值的变量
var foo
console.log(typeof foo) //'undefined'
null 表示一个空对象指针
console.log(typeof null) //'object'
function 函数
function foo () {
console.log(1)
}
console.log(typeof foo) //'function'
数据类型转换
Boolean
Boolean('') // false
Boolean('任意非空字符串') //true
Boolean(任何非0的数值) //true
Boolean(0) //false
Boolean(NaN) //false
Boolean(undefined) //false
Boolean(null) //false
Boolean(任何对象) //true
Number()
Number(true) //1
Number(false) //0
Number('') //0
Number('3423') //3423
Number('0xAF') //175
Number(null) //0
Number(undefined) //NaN
parseInt()
parseInt()函数在转换字符串时,按序解析,跳过空格,从第一个非空格字符起,逐个解析,直到解析结束或者碰到非数字字符,如果解析的第一个有效字符不是数字字符或者负号,则直接返回NaN。parseInt()转换空字符串会返回NaN
parseInt('1234qwer') //1234
parseInt('') //NaN
parseInt('11.1') //11
parseInt('-123') //-123
parseFloat()
在parseInt()解析转换时,字符'.'会被认为无效字符
但是在parseFloat()解析时,第一个'.'会被认为有效字符
parseFloat('11.1111') //11.1111
toString()
默认的返回数值十进制的字符表示,可通过添加参数,控制进制数
var num = 10
num.toString() //'10'
num.toString(2) //'1010'
num.toString(8) //'12'
num.toString(16) //'a'
String()
如果要转换的值有toString方法,则使用toString()进行转换,若没有,则返回该值的字面量
String(1) //'1'
String(true) //'true'
String(null) //'null'
String(undefined) //'undefined'
如有错误,敬请指出,感激不尽。