js数据类型 储存区别

数据类型:

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的值

猜你喜欢

转载自blog.csdn.net/weixin_45308405/article/details/127839252