JS数据类型在内存上的储存原理

简介: JS数据类型在内存上的储存原理

js的变量在内存中是怎样储存的,这个问题之前真的困扰我很久很久,我也是之前在B站某IT教程网站上解惑,该视频还是17年的老视频,不得不说真的没后悔花费我一整天看2017年的node.js教程。

一.基本数据类型的储存方式


首先思考下面代码的输出结果,

image.png

没错,太简单了

image.png

A ,B两个变量互不影响

二.引用数据类型的储存方式


接下来思考下面的代码

image.png

首先obj2肯定是xxx,那么obj呢?没错,答案也是xxx,

image.png

这是因为当我们在js定义了一个基本类型的时候,系统分配内存来保存 变量名&也就是key=value,每一个基本类型都会分配到各自的空间,互不影响。

注意,到对象上就不一样了,在创建一个对象的时候,栈内存只会保留变量名称,而值却是系统分配这个对象在堆内存中的16进制的地址。栈内存的变量名像箭头指针一样指向了堆内存的那个对象!!!!

image.png

如果下面这两行代码你能理解,那么说明你就已经知道了js数据类型的储存原理

1.image.png

网络异常,图片无法展示
|
2.image.png

相关文章
|
11天前
|
监控 算法 Java
Java内存管理:垃圾收集器的工作原理与调优实践
在Java的世界里,内存管理是一块神秘的领域。它像是一位默默无闻的守护者,确保程序顺畅运行而不被无用对象所困扰。本文将带你一探究竟,了解垃圾收集器如何在后台无声地工作,以及如何通过调优来提升系统性能。让我们一起走进Java内存管理的迷宫,寻找提高应用性能的秘诀。
|
6天前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
19 2
JavaScript基础知识-基本数据类型和引用数据类型
|
10天前
|
缓存 JavaScript 前端开发
[译] Vue.js 内部原理浅析
[译] Vue.js 内部原理浅析
|
8天前
|
Web App开发 存储 监控
Node.js中的内存泄漏
【8月更文挑战第31天】Node.js中的内存泄漏
26 1
|
13天前
|
JavaScript 前端开发 安全
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
24 2
|
16天前
|
JavaScript 前端开发 算法
js 内存回收机制
【8月更文挑战第23天】js 内存回收机制
29 3
|
16天前
|
存储 JavaScript 前端开发
学习JavaScript 内存机制
【8月更文挑战第23天】学习JavaScript 内存机制
16 3
|
16天前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
34 2
|
16天前
|
JavaScript 前端开发 Java
JavaScript内存泄露大揭秘!你的应用为何频频“爆内存”?点击解锁救星秘籍!
【8月更文挑战第23天】在Web前端开发中,JavaScript是构建动态网页的关键技术。然而,随着应用复杂度增加,内存管理变得至关重要。本文探讨了JavaScript中常见的内存泄露原因,包括意外的全局变量、不当使用的闭包、未清除的定时器、未清理的DOM元素引用及第三方库引发的内存泄露。通过了解这些问题并采取相应措施,开发者可以有效避免内存泄露,提高应用性能。
28 1
|
16天前
|
前端开发 JavaScript Java
揭开 JavaScript 垃圾回收的秘密——一场与内存泄漏的生死较量,让你的代码从此焕然一新!
【8月更文挑战第23天】本文通过多个实例深入探讨了JavaScript中的垃圾回收机制及其对应用性能的影响。首先介绍了基本的内存管理方式,随后分析了变量不再使用时的回收过程。接着,通过事件监听器未被移除及全局变量管理不当等场景展示了常见的内存泄漏问题。最后,文章介绍了使用`WeakRef`和`FinalizationRegistry`等现代API来有效避免内存泄漏的方法。理解并运用这些技术能显著提升Web应用的稳定性和效率。
33 0