5

图片描述
什么是数据类型
计算机的本质是计算
计算的本质是对值进行操作
参与计算的值和计算的结果统称为数据
把数据分门别类的归纳出来就是数据类型

JS中的数据类型
6+1种
基本数据类型:
数字(Number)
真假(Boolean)
字符串(String)
空(Null undefined)
ES6新增数据类型(Symbol)
复杂数据类型:对象(Object)

什么是对象●
除基本数据类型之外的数据都是对象,由属性组成的无序的数据集合
EXP:

美女={
    姓名:xxx(字符串)
    年龄:30(数字)
    是否知名:是(布尔)
    生日:undefined(空)
    三围:{
         胸围:111
         腰围:111         (对象)
         臀围:111
    }
}

表现区别
1.对象对应的变量保存的是内存地址的引用,基本数据类型对应的变量保存的是值
2.对象是可以改变的,基本数据类型是不可改变的
3.对象可以使用属性和方法,基本数据类型不可以使用属性和方法本质区别
基础数据类型占用固定的内存,保存在栈中,对象占用不固定的内存保存在堆中

数据类型的检测●
使用typeof
typeof和+ - 一样,是运算符,可以使用括号也可以不使用括号
EXP:

var a=true,b=true;
console.log(typeof a==b)  //false

typeof的返回值
1.返回值是字符串类型
2.包括number string boolean undefined object function
3.多了function 少了null
4.typeof null返回值是object(本质原因:typeof是将数据转换成二进制进行判断,如果转换后的结果是000开头那么他就是对象,但是null转换成二进制后的结果是0000)

JS的动态性
JS是动态语言,只有当值参与计算的时候才去判断值的类型类似的还包括python、ruby JAVA、C++属于静态语言,在赋值的时候就确定了数据类型

undefined和null的区别
在ES3之前是没有undefined这个值的,ES3标准中新添加的

相同点
1.都只有一个值——空
2.参与判断的时候都返回false
3.都不可以访问属性和调用方法

不同点
1.null是关键字,undefined不是关键字
2.unll是对象但是值为空,undefined的本质是全局对象的属性,这个属性的值叫做“未定义”
3.null是已经初始化的,undefined是未初始化的
4.使用typeof 返回的结果一个是object 一个是undefined

如何使用
1.声明一个变量并且一定需要赋值的时候使用null
2.检测某个值是否存在的时候使用===undefined(全等)
3.检测某个值是否为空的时候使用===null(全等)
4.判断某个值是否存在或者为空的时候使用==null(相等)

空赋值的应用
1.在函数的开头使用var undefined来提升查找速度
2.在声明一个指向对象的变量或者属性的时候使用var xxxx=null或者xxx:null

《JS中的数据类型》提取码smke


冰山工作室
604 声望36 粉丝

给你最基础,最实用的前端技能