简单数据类型和复杂数据类型
1.简单数据类型又叫做基本数据类型或值类型,复杂数据类型又叫作引用类型
2.值类型:在存储变量时变量中存储的是值本身,像JS中的五大数据类型:
string number boolean undefined null
注意:其中的null 它的返回值是object 是一个空对象;如果有个变量想以后存储为对象,暂时不知道里面放什么,就给赋值null 就是一个空对象
3. 引用类型:在存储变量时变量中存储的是地址(引用)
通过new 关键字创建的对象(内置对象,自定义对象)如: Object Date Array
堆和栈(JS本身没有)
堆:由操作系统自动分配释放存放函数的参数值,局部变量的值等
复杂数据类型存放在堆中
栈:一般由程序员分配释放,若程序员不释放,由垃圾回收 机制回收
简单数据类型存放在栈中
数据类型内存的分配
- 简单数据类型是存放在栈里面,里面直接开辟一个空间存放的是值
- 复杂数据类型:在栈中存放一个引用,它指向堆中的数据
像数组:在栈中开辟空间存放的是引用(十六进制的地址),数组名指向这块空间;而数组元素的值存放在堆中,由引用可以找到
数据类型的传参
- 简单数据类型的传参:将存放在栈中的值复制一份给形参,对形参修改,不改变实参
- 复杂数据类型的传参:将存放在栈中的引用(地址)复制一份给形参,对形参修改,改变实参
实参和形参指向的是同一个堆地址,操作的是同一个对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!