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