当前位置: 首页 > news >正文

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

数据存储

  • 通过前面的学习我们知道。数据类型分为基本数据类型(简单数据类型)和复杂数据类型(引用数据类型)
  • 基本数据类型和复杂数据类型最大的区别就是存储上的区别
  • 我们的存储空间分为栈和堆
    • 栈:主要存放基本数据类型的内容
    • 堆:主要存放复杂数据类型的内容
  • 复杂数据类型存放在堆内存中。无序排列, 根据地址来查找(堆空间地址)

1) 基本数据类型存储

  • var num = 100,在内存中的存储情况
  • 直接在 栈空间 内有存储一个数据
  • 栈内存: 按序排列, 先来的在栈底, 后来的在栈顶

2) 复杂数据类型存储

  • 复杂数据类型的存储
    • 在堆里面开辟一个存储空间
    • 把数据存储到存储空间内
    • 把存储空间的地址赋值给栈里面的变量

3) 数据类型赋值

  • 基本数据类型赋值
    • 赋值的时候, 就是直接值的复制
    • 赋值以后, 两个变量互相之间没有任何关系
    • 改变一个变量, 另一个不会发生变化

  • 复杂数据类型赋值
    • 复杂数据类型赋值的时候, 是把变量内存储的地址进行赋值
    • 赋值以后, 两个变量操作的是一个存储空间
    • 任意一个变量去改变存储空间内的数据, 另一个变量看到的一样是改变以后的

4) 数据类型比较

  • 基本数据类型, 就是 值 和 值 之间的比较

  • 复杂数据类型, 是 地址 和 地址 之间的比较

  • 因为我们创建了两个对象,那么就会在 堆空间 里面开辟两个存储空间存储数据(两个地址)
  • 虽然存储的内容是一样的,那么也是两个存储空间,两个地址
  • 复杂数据类型之间就是地址的比较,所以 obj 和 obj2 两个变量的地址不一样
  • 所以我们得到的就是 false

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux:二进制包安装与源码包安装详解
  • 【计组】第三章和第四章
  • 【考研数学】概率论:4 种方法解答一道题,你觉得哪种方法又快又好呢?
  • postman请求JSON格式,后台@RequestBody实体类接收不到数据
  • 30.x86游戏实战-遍历背包数组
  • Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”
  • 怎么评价程序员40岁了竟然还在撸代码?
  • Python爬虫入门03:用Urllib假装我们是浏览器
  • 【MySQL】表的约束{ 常见约束 空属性 默认值 列描述comment zerofill 主键 复合主键 自增长 唯一键 外键 }
  • 15.3 zookeeper实现分布式锁
  • 强化学习时序差分算法之多步Sarsa算法——以悬崖漫步环境为例
  • 什么是虚拟化技术,有什么优缺点?
  • 76.SAP ME - 归档
  • World of Warcraft [retail] 100G download 2024.07.31
  • 数据透视表(三)
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Android系统模拟器绘制实现概述
  • docker python 配置
  • extjs4学习之配置
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript设计模式系列一:工厂模式
  • MaxCompute访问TableStore(OTS) 数据
  • Solarized Scheme
  • 聊聊redis的数据结构的应用
  • 网页视频流m3u8/ts视频下载
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 1.Ext JS 建立web开发工程
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ###C语言程序设计-----C语言学习(6)#
  • #{}和${}的区别?
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $.proxy和$.extend
  • ( 10 )MySQL中的外键
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (4)logging(日志模块)
  • (备份) esp32 GPIO
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (回溯) LeetCode 46. 全排列
  • (算法)求1到1亿间的质数或素数
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)JAVA中的堆栈
  • (转)编辑寄语:因为爱心,所以美丽
  • .axf 转化 .bin文件 的方法
  • .NET BackgroundWorker
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net中调用windows performance记录性能信息
  • .考试倒计时43天!来提分啦!
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • @RequestBody的使用
  • [ IO.File ] FileSystemWatcher
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [BetterExplained]书写是为了更好的思考(转载)