这似乎很愚蠢,但我不明白为什么在执行change()函数后为什么'age'的值没有改变。我的理解是,当执行change()时,age的值设置为30,并且由于它在函数内部的全局范围内,因此外部的值也应更改。
但是它将22记录在控制台中。为什么会这样?
var age = 22;
var obj3 = {
name:'phirta',
city:'lisbon'
};
function change(c,b) {
c= 30;
b.city = 'someplace';
}
change(age,obj3);
console.log(age);
console.log(obj3.city);