什么是数据类型计算机的本质是计算计算的本质是对值进行操作参与计算的值和计算的结果统称为数据把数据分门别类的归纳出来就是数据类型JS中的数据类型6+1种基本数据类型:数字(Number)真假(Boolean) 字符串(String)空(Null undefined)ES6新增数据类型(Symbol)复杂数据类型:对象(Object)什么是对象●除基本数据类型之外的数据都是对象,由属性组成的无序的数据集合EXP:美女={ 姓名:xxx(字符串) 年龄:30(数字) 是否知名:是(布尔) 生日:undefined(空) 三围:{ 胸围:111 腰围:111 (对象) 臀围:111 }}表现区别1.对象对应的变量保存的是内存地址的引用,基本数据类型对应的变量保存的是值2.对象是可以改变的,基本数据类型是不可改变的3.对象可以使用属性和方法,基本数据类型不可以使用属性和方法本质区别基础数据类型占用固定的内存,保存在栈中,对象占用不固定的内存保存在堆中数据类型的检测●使用typeoftypeof和+ - 一样,是运算符,可以使用括号也可以不使用括号EXP:var a=true,b=true;console.log(typeof a==b) //falsetypeof的返回值1.返回值是字符串类型2.包括number string boolean undefined object function 3.多了function 少了null4.typeof null返回值是object(本质原因:typeof是将数据转换成二进制进行判断,如果转换后的结果是000开头那么他就是对象,但是null转换成二进制后的结果是0000)JS的动态性JS是动态语言,只有当值参与计算的时候才去判断值的类型类似的还包括python、ruby JAVA、C++属于静态语言,在赋值的时候就确定了数据类型undefined和null的区别在ES3之前是没有undefined这个值的,ES3标准中新添加的相同点1.都只有一个值——空2.参与判断的时候都返回false3.都不可以访问属性和调用方法不同点1.null是关键字,undefined不是关键字2.unll是对象但是值为空,undefined的本质是全局对象的属性,这个属性的值叫做“未定义”3.null是已经初始化的,undefined是未初始化的4.使用typeof 返回的结果一个是object 一个是undefined如何使用1.声明一个变量并且一定需要赋值的时候使用null2.检测某个值是否存在的时候使用===undefined(全等)3.检测某个值是否为空的时候使用===null(全等)4.判断某个值是否存在或者为空的时候使用==null(相等)空赋值的应用1.在函数的开头使用var undefined来提升查找速度2.在声明一个指向对象的变量或者属性的时候使用var xxxx=null或者xxx:null《JS中的数据类型》提取码smke