数据类型:
1.JavaScript(以下简称js)的数据类型分为两种:基本数据类型,引用数据类型
2.基本数据类型:number(数组) String(字符串) boolean(布尔) null(空) undefined(未定义) symbol bigint
3.引用数据类型:对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)
储存区别:
基本数据类型和引用数据类型存储在内存中的位置不同:
1.基本数据类型存储在栈中
2.引用数据类型存储在堆中
当我们赋值给一个变量时,解析器首先要确认的就是这个值是基本类型还是引用类型的值
基本数据类型
let a='111';
let b=a;
b='222';
console.log(a);//111
console.log(b);//222
//理解:a的值是一个基本数据类型,是存储在栈中,
//将a的值赋给b,虽然两个变量的值相等,
//但是两个变量形成了两个不同的内存地址 所以b发生改变不会影响到a
引用数据类型
扫描二维码关注公众号,回复:
15723947 查看本文章
let c={name:'好先森'};
let d=c;
d.name='坏先森'
console.log(c);//坏先森
console.log(d);//坏先森
//理解:引用类型的数据是放在堆中,每一个堆内存都有一个引用地址 引用地址指向栈中
//把c赋值给d 实际上就是把c的引用地址复制一份给c
// b和c的引用地址都指向在栈中同一份地址 所以d变了会改变c的值