javaScript中基本数据类型和复杂数据类型数据的存储

数据存储

  • 通过前面的学习我们知道。数据类型分为基本数据类型(简单数据类型)和复杂数据类型(引用数据类型)
  • 基本数据类型和复杂数据类型最大的区别就是存储上的区别
  • 我们的存储空间分为栈和堆
    • 栈:主要存放基本数据类型的内容
    • 堆:主要存放复杂数据类型的内容
  • 复杂数据类型存放在堆内存中。无序排列, 根据地址来查找(堆空间地址)
  1. 基本数据类型存储
  • var num = 100,在内存中的存储情况
  • 直接在 栈空间 内有存储一个数据
  • 栈内存: 按序排列, 先来的在栈底, 后来的在栈顶
  1. 复杂数据类型存储
  • 复杂数据类型的存储
    • 在堆里面开辟一个存储空间
    • 把数据存储到存储空间内
    • 把存储空间的地址赋值给栈里面的变量
  1. 数据类型赋值
  • 基本数据类型赋值
    • 赋值的时候, 就是直接值的复制
    • 赋值以后, 两个变量互相之间没有任何关系
    • 改变一个变量, 另一个不会发生变化
  • 复杂数据类型赋值
    • 复杂数据类型赋值的时候, 是把变量内存储的地址进行赋值
    • 赋值以后, 两个变量操作的是一个存储空间
    • 任意一个变量去改变存储空间内的数据, 另一个变量看到的一样是改变以后的
  1. 数据类型比较
  • 基本数据类型, 就是 值 和 值 之间的比较
  • 复杂数据类型, 是 地址 和 地址 之间的比较
  • 因为我们创建了两个对象,那么就会在 堆空间 里面开辟两个存储空间存储数据(两个地址)
  • 虽然存储的内容是一样的,那么也是两个存储空间,两个地址
  • 复杂数据类型之间就是地址的比较,所以 obj 和 obj2 两个变量的地址不一样
  • 所以我们得到的就是 false
相关推荐
云栖梦泽19 小时前
易语言数据库操作:结构化数据管理的核心
开发语言
苏打水com19 小时前
第十四篇:Day40-42 前端架构设计入门——从“功能实现”到“架构思维”(对标职场“大型项目架构”需求)
前端·架构
king王一帅19 小时前
流式渲染 Incremark、ant-design-x markdown、streammarkdown-vue 全流程方案对比
前端·javascript·人工智能
电子硬件笔记19 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
苏打水com20 小时前
第十八篇:Day52-54 前端跨端开发进阶——从“多端适配”到“跨端统一”(对标职场“全栈化”需求)
前端
南棱笑笑生20 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21220 小时前
C++ 的容器适配器——从stack/queue看
开发语言·c++
Bigger20 小时前
后端拒写接口?前端硬核自救:纯前端实现静态资源下载全链路解析
前端·浏览器·vite
BD_Marathon20 小时前
【JavaWeb】路径问题_前端绝对路径问题
前端
Amewin20 小时前
window 11 安装pyenv-win管理不同的版本的python
开发语言·python