通过引用分配var - JavaScript

时间:2014-03-07 05:34:23

标签: javascript variables operators

我的问题很简单,但我没有找到类似我的问题。最接近的是单身人士模式,但不是我需要的。

我会在JavaScript中做这样的事情:

var a = b = c = 0;

由此:

c = 3.141516; 
console.log(b); // 3.141516 
console.log(a); // 3.141516 

b = 'Hello World';
console.log(c); // 3.141516 
console.log(a); // Hello World 

在PHP中,有一个运算符=&就像我想要的那样工作。

1 个答案:

答案 0 :(得分:4)

JavaScript中没有"assignment by reference"。你最接近的将会是这样的:

var a = b = c = {};
c.foo = 3.141516;
console.log(a.foo); // 3.141516
console.log(b.foo); // 3.141516

b.foo = 'Hello World';
console.log(a.foo); // 'Hello World'
console.log(b.foo); // 'Hello World'

变量abc都引用同一个对象,因此当您更改该对象的属性时,对该对象的3个引用都会看到相同的变化

我认为您问题中示例中的console.log(c)行是复制粘贴错误,并且您希望它打印'Hello World',而不是3.141516