首页>>前端>>JavaScript->JavaScript基本数据类型与引用数据类型的存储方式

JavaScript基本数据类型与引用数据类型的存储方式

时间:2023-11-29 本站 点击:0

基本数据类型:number string boolean null underfind symbol(ES6) BigInt(ES10)

引用数据类型:Object Array funtion

javaScript存储数据的方式主要是通过栈或者堆

基本数据类型

基本数据类型储存在栈中,有自己独立的空间

constname="rrr";constage=18;constheight=185;
引用数据类型

引用数据类型是将地址存储在栈中,地址指向堆中存储着对象、数组、函数的内容

拿对象举例:

创建内容相同的两个不同变量名的对象:

leta={name:"rrr"};letb={name:"rrr"};console.log(a===b);//false(因为a、b存储在栈中的地址不同)

将a复制一份给b并给a中的属性重新赋值:

leta={};letb=a;a.name="rrr";console.log(a,b);//{name:'rrr'}{name:'rrr'}地址指向相同,给a添加属性是添加到堆中

将a复制一份给b并给a重新赋值:

leta={};letb=a;a={name:"rrr"};console.log(a,b);//{name:'rrr'}{}虽然开始a、b指向内容相同,但是给a重新赋值后开辟了一段新的内存在堆中

深拷贝——b会获得新的地址和内存空间并将a中的属性遍历到b中:

leta={};letb=JSON.stringify(a);//深拷贝a.name="rrr";console.log(a,b);//{name:'rrr'}'{}'b会在堆中获得一段新的内存

摸鱼的时候看到的一个基础的问题,稍微理了一下思路,望大神纠正错误!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/JavaScript/668.html