为什么此函数中的原语的值不改变

时间:2019-12-11 05:18:38

标签: javascript

这似乎很愚蠢,但我不明白为什么在执行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);

0 个答案:

没有答案