2014-03-07 27 views
1

我的问题很简单,但我还没有找到像我的问题。最接近的是单身模式,但不是我所需要的。通过引用指定var - JavaScript

我会做这样的事情在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中有一个运营商,就像我想=&工作。

+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' 

变量ab,并c所有引用同一个对象,所以,当你改变一个属性,对象上,将3个引用该对象都看到相同的变化。

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