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

九,数据类型存储

1、简单类型与复杂类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

值类型:简单数据类型/基本数据类型,在存储时变量中存储的时值本身,因此叫做值类型

string、number、boolean、undefined、null

注意:简单数据类型 null 返回的是一个空的对象 object

如果有个变量我们以后打算存储为对象,暂时没想好放啥,就可以给null

引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型,通过new关键字创建的对象(系统对象、自定义对象),如Obect、Array、Date等

2、堆和栈

堆栈空间分配区别:

栈(操作系统):简单数据类型存放在栈里面,里面直接开辟一个空间存放的是值

堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

复杂数据类型存放在堆里面,它是先是在栈里面存放地址,十六进制表示,然后这个地址指向堆里面的数据

总结:

1、JS中的变量都是保存到栈内存里的

2、基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响其他的变量

3、引用数据类型的值直接保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响

4、比较两个基本属性类型的值时,就是比较值;

比较两个引用数据类型时,它是比较对象的内存地址,如果两个对象时一模一样的,但是地址不同,他也会返回false

3.数据类型图理解(如下)

image.png


http://www.kler.cn/a/379310.html

相关文章:

  • 人工智能原理实验一:知识的表示与推理实验
  • JVM 复习1
  • Python小白学习教程从入门到入坑------第二十三课 封装(语法进阶)
  • Vscode使用launch.json进行传参调试代码
  • WPF+MVVM案例实战(十七)- 自定义字体图标按钮的封装与实现(ABC类)
  • Hadoop——HDFS
  • Kubernetes——part9-2 kubernetes集群java项目上云部署
  • 大模型微调
  • ubuntu离线部署ollama
  • Java毕业设计-基于微信小程序的校园二手物品交易系统的实现(V2.0)
  • docker build cache 占用磁盘空间很高
  • SQL,力扣题目1747,应该被禁止的 Leetflex 账户
  • 近期学习前端的心得
  • (三千字心得笔记)零基础C语言入门第七课——二维数组
  • 【面试经典150】day 11
  • 双分解+一区极光优化+Transformer!CEEMDAN-Kmeans-VMD-PLO-Transformer多元时序预测
  • Python 作用域浅析
  • 【LeetCode】每日一题 2024_11_1 超级饮料的最大强化能量(DP)
  • 【实战篇】requests库 - 有道云翻译爬虫 【附:代理IP的使用】
  • brew 下载过慢, 切换使用国内源
  • Python小白学习教程从入门到入坑------第二十四课 继承(语法进阶)
  • 深度学习案例:一步步搭建多层神经网络以及应用
  • 基于向量检索的RAG大模型
  • 探索设计模式:命令模式
  • 第三十二章 Vue组件分类及存放位置
  • 本质矩阵分解计算Rt