什么是数据类型
计算机的本质是计算
计算的本质是对值进行操作
参与计算的值和计算的结果统称为数据
把数据分门别类的归纳出来就是数据类型
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是关键字js数据类型,undefined不是关键字
2.unll是对象但是值为空,undefined的本质是全局对象的属性js数据类型,这个属性的值叫做“未定义”
3.null是已经初始化的,undefined是未初始化的
4.使用typeof 返回的结果一个是object 一个是undefined
如何使用
1.声明一个变量并且一定需要赋值的时候使用null
2.检测某个值是否存在的时候使用===undefined(全等)
3.检测某个值是否为空的时候使用===null(全等)
4.判断某个值是否存在或者为空的时候使用==null(相等)
空赋值的应用
1.在函数的开头使用var undefined来提升查找速度
2.在声明一个指向对象的变量或者属性的时候使用var xxxx=null或者xxx:null
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688