1.分类
*基本(值)类型
&字符串类型:string,任意的字符串
&数值类型:Number,任意的数字
&布尔类型:Boolean true/false
&null:null
&undefined:undefined
*对象(引用)类型
&Object:任意对象
&Array:一种特别的对象(数值下标,内部数据是有序的)
&Function:一种特别的对象(可以执行)
2判断(判断是哪种类型)
*typeof(返回数据类型的字符串表达。返回的值是字符串)可以判断‘undefined’/number/string/boolean。不能判断null/object/Array类型。判断Array的时候返回的是object
*instanceof(a instanceof Array。也就是判断a是否是数组。返回结果为布尔类型。同样也可判断Object,Function)
*===(返回的是布尔类型的值)可以判断undefined/null
常见面试题:
1.undefined和null的区别
undefined是变量定义了为赋值。
null是变量定义了并且赋值为null。
2.什么时候给变量赋值为null
初始赋值,表明将要赋值为对象。
结束前,让对象成为垃圾对象(被垃圾回收机制回收)
3.严格区分变量类型与数据类型
数据的类型
*基本类型和对象类型
变量的类型(变量内存值的类型)
*基本类型(保存就是基本类型的数据)和引用类型(保存的是地址值)