引用传递和值传递的理解有问题吗?
引用传递是将一段内存单元的地址赋给另一个变量,所以并没有新开辟一段内存空间,两个变量指向的是同一个内存单元;值传递需要将一个内存单元的值复制给另一个内存单元,所以改变其中一个内存单元的内容不会影响到另一个内存单元内容。
var person=new Object();
function setName(obj){
obj.name="xiaoming";
obj=new Object();
obj.name="xiaohua";}
setName(person);
这段代码是这样理解的吗?变量person中存着指向对象的地址,调用setName函数是将person中的数据复制给了一个临时变量obj,使得obj能够访问到同一个对象,所以修改obj.name就相当于修改了person.name,后来obj里的地址指向了另一个内存单元,并重新设置该内存单元对象属性,但是person中的数据并没有改变,还是指向原来的内存单元,所以这是值传递。
0
收起
正在回答 回答被采纳积分+1
3回答
相似问题
登录后可查看更多问答,登录/注册
组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星