传递参数 和 堆
来源:互联网 发布:java架构师 在线课 编辑:程序博客网 时间:2024/06/05 11:02
栈用来存值;
堆用来存引用;
实例
代码:
function setName(obj) { obj.name = "Rui"; obj = new Object(); //对象B obj.name = "Hong"; } var person = new Object(); //对象A setName(person); console.log(person.name);
最后输出为:Rui;
顺序:
创建新的对象 赋予 变量person
调用函数 setName,将 对象变量 person 赋给 函数的参数(obj);
此时 obj 与 person 同样拥有指针指向 //对象A
obj.name 赋值为 Rui // 为A对象的name 赋值
(新对象赋给变量obj)此时函数里面的 obj变量的指针被更改为指向 新对象B。
对应的 Hong 值是对象B的Name属性…
函数的参数均为局部变量
(当在函数内部重写obj时,这个变量引用的就是一个局部对象了)
退出函数时,该局部对象会在函数执行完毕后销毁。
阅读全文
0 0
- 传递参数 和 堆
- 对象参数传递中 栈和堆的内存分析
- 跳转和传递参数
- java 值传递和参数传递
- "栈"和"堆"的区别; 引用传递和值传递
- Java数据类型和参数传递
- 参数传递和堆栈平衡
- 引用和指针 传递参数
- Java赋值和参数传递
- uboot和kernel传递参数
- 参数传递和返回值
- Java赋值和参数传递
- 参数传递和堆栈平衡
- springmvc 参数传递和跳转
- C#参数传递和属性
- 方法重载和参数传递
- c++ 指针和参数传递
- c++ 指针和参数传递
- 素材
- 嵌入式系统学习——STM32之通用定时器
- 列表、元组和字符串
- 8、socket数据的接收和发送
- poj 1703 : Find them Catch them (并查集)
- 传递参数 和 堆
- centos7 docker安装
- 9、回声客户端的实现
- Target Sum
- ubuntu下在线/离线安装chrome浏览器
- 10、实现迭代服务器端和客户端
- 设置eclipse中python脚本的编码格式
- Django 博客开发教程 10
- c++入门(类和对象and继承for系统时间显示)