Javascript变量分配是否通过引用工作?

Javascript变量分配是否通过引用工作?,javascript,Javascript,我有一个关于在javascript中引用对象的问题 假设我有一个变量是某个对象(比如json),它被称为objOne-(var objOne=someJSONObject;) 如果我继续申报 var objTwo = objOne; 我会有两个对同一个对象的引用吗?有点像c指针?总之: 赋值是按值完成的 您从不操纵对象,只操纵对象引用 这意味着 您将有两个对同一对象的引用(您可以通过更改对象的属性来检查) 当您传入一个变量(原语的值)时,更改您的变量不会更改其他变量 编辑:由于它是重复

我有一个关于在javascript中引用对象的问题

假设我有一个变量是某个对象(比如json),它被称为objOne-(var objOne=someJSONObject;)

如果我继续申报

var objTwo = objOne;
我会有两个对同一个对象的引用吗?有点像c指针?

总之:

  • 赋值是按值完成的
  • 您从不操纵对象,只操纵对象引用
这意味着

  • 您将有两个对同一对象的引用(您可以通过更改对象的属性来检查)
  • 当您传入一个变量(原语的值)时,更改您的变量不会更改其他变量

编辑:由于它是重复的,我将在一分钟内删除此答案,以便在没有其他答案的情况下正确关闭。请投票关闭。

是,对象通过引用传递:

function changeVal(obj){
    obj.value = "bar"
}

(function checkRefs(){

    var myObject = {
        value: "foo"
    };


    alert(myObject.value);

    changeVal(myObject);

    alert(myObject.value);


})();

好啊非常感谢你的回答。这就是我想知道的,mcgee。