首先我们看一下数据类型都有哪些,然后再去看他们的区别;
一、基本数据类型
- Number:数值型包含整型和浮点型,注意NaN也属于数值型,但不是一个数字。
- String:字符串类型。
- undefined:表示未定义,声明变量不赋值的情况下就是undefined。
- Boolean:只有两个值,一个是false一个true
- null:代表一个空对象
二,复杂数据类型
- object:对象类型,我们看到的大多数类型都是对象的实例
- Array:数组,注意:需要判断数组和对象的数据类型时候不能用typtof
- function:函数
三,接下来说一下基本数据类型和复杂数据类型的区别
- 首先是复杂数据类型保存在堆内存中,而基本数据类型保存在栈内存中,然后声明一个复杂数据类型变量中保存的是一个复杂数据类型的地址,基本数据类型保存的是一个具体的值
- 声明两个复杂数据类型指向同一个地址的时候,改变一个另一个也会跟着改变
var obj={name:"小明",age:13}
var obj2=obj
obj2.name="小亮"//这时obj一的值也会改变
console.log(obj)//{name:"小亮",age:13}
console.log(obj2)//{name:"小亮",age:13}