我的问题很简单,但我没有找到类似我的问题。最接近的是单身人士模式,但不是我需要的。
我会在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'
变量a
,b
和c
都引用同一个对象,因此当您更改该对象的属性时,对该对象的3个引用都会看到相同的变化
我认为您问题中示例中的console.log(c)
行是复制粘贴错误,并且您希望它打印'Hello World'
,而不是3.141516
。