function foo(obj) {
obj.x=100;
}var obj = new Object();
obj.x=1;
foo(obj);console.log(obj.x); // obj.x被修改为100.//===================================function foo1(obj1){
obj1 = {x:100};
}var obj1 = {x:1};
foo1(obj1);console.log(obj1.x); //obj1.x为1上面两段代码,为何结果不同?求解,谢谢......
1 回答

慕斯王
TA贡献1864条经验 获得超2个赞
上面那个相当于这样:
var obj = new Object(); obj.x=1;var foo_obj = obj; foo_obj.x = 100;
下面那个则是这样:
var obj = new Object(); obj.x=1;var foo_obj = obj; foo_obj = {x: 1};
所有的对象在js中,都是引用类型变量。
添加回答
举报
0/150
提交
取消