什么是数据类型

计算机的本质是计算

计算的本质是对值进行操作

参与计算的值和计算的结果统称为数据

把数据分门别类的归纳出来就是数据类型

JS中的数据类型

6+1种

基本数据类型:

数字(Number)

真假(Boolean)

字符串(String)

空(Null undefined)

ES6新增数据类型(Symbol)

复杂数据类型:对象(Object)

什么是对象●

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

EXP:

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

js undefined类型_js 类型_js数据类型

表现区别

1.对象对应的变量保存的是内存地址的引用,基本数据类型对应的变量保存的是值

2.对象是可以改变的,基本数据类型是不可改变的

3.对象可以使用属性和方法,基本数据类型不可以使用属性和方法本质区别

基础数据类型占用固定的内存,保存在栈中,对象占用不固定的内存保存在堆中

数据类型的检测●

使用typeof

typeof和+ – 一样,是运算符,可以使用括号也可以不使用括号

EXP:

js 类型_js数据类型_js undefined类型

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