求教:JavaScript函数传参概念问题

cdkj_jy 2013-10-16 11:15:24
我在一本很权威的javascript书上看见说:所有函数的参数都是按值传递的。
书中举了个下面的例子说明:
function setName(obj){
obj.name = "Nicholas";
obj = new Object();
obj.name = "Greg";
}

var person = new Object();
setName(person);
alert(person.name);//Nicholas


这我就懵了,这就能证明是传值啊????,求解答
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇乐二二二 2013-10-16
  • 打赏
  • 举报
回复
函数内部修改了参数的值,但是原始的引用仍然保持未变。当函数内部重写obj时,这个变量的引用就是一个局部对象了。而这个局部对象会在函数执行完毕后立即被消除。
ziyu529 2013-10-16
  • 打赏
  • 举报
回复
考验全局变量和局部变量重名的情况,确定函数处理对象的作用域就不会弄错了

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧