看了高教这本书,函数传递的章节,有这样的代码: function setName(obj) {
obj.name = '小明'
obj = new Object()
obj.name = '小华'
} var person = new Object()
setName(person) console.log(person.name)书上说的是函数参数是按值传递的,当在函数内部重写obj时,这个变量引用 的就是一个局部变量了,但是我自己写了一个: var obj1 = new Object() var obj2 = obj1
obj1.name = '小明'
obj1 = new Object()
obj1.name = '小华'
obj2.age = 22
console.log(obj1.age) //undefined
console.log(obj2.name) //小明重写obj1后,改变obj1的值,obj2的值没有变,相反的改变obj2值后,也同样不会变,这不是跟函数的传参一样吗,都是按值传递的
1 回答
- 1 回答
- 0 关注
- 417 浏览
添加回答
举报
0/150
提交
取消