JS基础(数据类型的复杂性)

1. 简单数据类型:基本数据类型

  • 存储变量时候的存储值
  • string、number、boolean、undefined、null

2. 复杂数据类型

  • new实例化的对象(系统对象、自定义对象)
  • Object、Array、Date

3. 堆和栈以及复杂数据类型和简单数据类型的分配

JS基础(数据类型的复杂性)_第1张图片

  1.  简单数据类型(栈)
    1. 简单数据类型存放在栈里面
    2. 存放的是值:里面直接开辟一个空间
  2. 复杂数据类型放在(堆)
    1. 先在栈里面开辟空间:复杂类型名指向开辟的栈空间,栈空间存放只存放堆的地址并指向堆,堆开辟一整个空间,里面分割出多个复杂数据类型

4. 简单数据类型传参

JS基础(数据类型的复杂性)_第2张图片

1. 解释

  • 预解析执行过程
  • 简单数据类型名:先命名:在栈里面开辟空间 
  • 赋值
  • 最后再次改变值

2.解释

  • 执行预解析变量向上提
  • 函数不调用不执行
  • 给x赋值了10
  • 然后调用函数还是执行函数
  • 把初始参数x进行+1
  • 最后打印

5. 复杂数据类型传参

JS基础(数据类型的复杂性)_第3张图片

  1.  遵循不调用不执行
  2. 传参到parson函数  =  刘
  3. 打印暑促p.name = 刘
  4. 调用函数
  5. 开始执行函数中的代码
  6. 第一个输出 = 刘
  7. 第二个因为修改了变量 = 张
  8. 最后输出 = 张

你可能感兴趣的:(java,开发语言)