function setName(obj){obj.name = "test1";obj = {};obj.name = "test2";}var person = new Object();setName(person);alert(person.name);这段代码中person的值却是test1,经过分析可以看出://函数的参数传递与普通的变量赋值是一样的,把函数结构去掉就容易明白了var person = {};var obj = person;//这时,obj和person指向同一个对象的引用obj.name = "test1";obj = {};这时,只是obj指向一个新对象的引用,但person指向的对象不变obj.name = "test2";alert(obj.name);alert(person.name);
js值传递和引用传递的小问题
最新推荐文章于 2022-06-17 14:25:41 发布