2014-03-07 19 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