• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
百事可爱
一起努力鸭~~~
博客园    首页    新随笔    联系   管理    订阅  订阅
JS 简单数据类型和复杂数据类型

简单数据类型和复杂数据类型

1.简单数据类型又叫做基本数据类型或值类型,复杂数据类型又叫作引用类型
2.值类型:在存储变量时变量中存储的是值本身,像JS中的五大数据类型:
string number boolean undefined null
注意:其中的null 它的返回值是object 是一个空对象;如果有个变量想以后存储为对象,暂时不知道里面放什么,就给赋值null 就是一个空对象
3. 引用类型:在存储变量时变量中存储的是地址(引用)
通过new 关键字创建的对象(内置对象,自定义对象)如: Object Date Array

堆和栈(JS本身没有)

堆:由操作系统自动分配释放存放函数的参数值,局部变量的值等
复杂数据类型存放在堆中
栈:一般由程序员分配释放,若程序员不释放,由垃圾回收 机制回收
简单数据类型存放在栈中

数据类型内存的分配

  1. 简单数据类型是存放在栈里面,里面直接开辟一个空间存放的是值
  2. 复杂数据类型:在栈中存放一个引用,它指向堆中的数据
    像数组:在栈中开辟空间存放的是引用(十六进制的地址),数组名指向这块空间;而数组元素的值存放在堆中,由引用可以找到

数据类型的传参

  1. 简单数据类型的传参:将存放在栈中的值复制一份给形参,对形参修改,不改变实参
  2. 复杂数据类型的传参:将存放在栈中的引用(地址)复制一份给形参,对形参修改,改变实参
    实参和形参指向的是同一个堆地址,操作的是同一个对象
posted on 2021-11-05 21:28  精致猪猪侠  阅读(772)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3