首页 > 解决方案 > 为什么Javascript函数可以从外部更新对象的原始属性但不能更新原始变量

问题描述

    let variable1="hello";
function func1(variable){
    variable="hello hello";
}
func1(variable1);
console.log("after function: "+variable1);

let object1={
    property1:"hello2"
}
function func2(obj){
    obj.property="hello object";
}
func2(object1);
console.log("after function:" +object1.property);

我有这段代码,第一个 console.log() 返回

hello

但第二个 console.log() 返回

hello object

所以我明白javascript不能改变和更新变量,但它可以改变和更新对象的属性。但为什么以及如何?

标签: javascriptfunctionobjectvariables

解决方案


推荐阅读