参数传递和作用域

function setN (obj) {
obj.name = "Jim";
};
var person = new Object();
setN(person);
console.log(person.name);//Jim
person对象指向在堆区中只有一个,而且是全局对象。所以当内部obj添加属性时,函数外部的person对象也添加了改属性。

function steN2 (obj) {
obj.name = "Jim";
obj = new Object();
obj.name = "cpw";
};
var person = new Object();
setN2(person);
console.log(person.name);//cpw
在内部从写obj时,这个变量引用就是一个局部对象,而这个局部对象会随着函数的结束而销毁。此时,原始的引用任然保持不变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容