JavaScript多变量赋值

3
这个问题已经有几个答案(有点)了:Javascript: var = var = function,Multiple Variable Assignments in one row等等,但我想问一个不同类型的问题。
所以,能够使用这个非常方便:
var av = 0, bb;
var cvs = bb = av;
console.log(cvs,bb) // outputs 0 0

我的问题是,这个技术在所有浏览器中都能兼容吗?包括IE6或其他浏览器,我能否放心在任何地方使用它呢?或者我应该坚持使用:

var av = 0, bb;

bb = av; cvs = av;

如果您在代码的任何一个点上更改了一个变量,那么这是否意味着另一个变量也会被更改,或者除了初始赋值之外没有其他联系?

谢谢!


2
它是JavaScript的一部分,因此应该可以在实现JavaScript的浏览器中运行。 - user1693593
2个回答

1

0
回答你的第二个问题:
如果你在代码的任何地方更改一个变量,那么另一个变量是否也会被更改,或者除了最初的赋值之外没有其他联系?
这很容易测试:
var av = 0, bb;
var cvs = bb = av;
console.log(av, cvs, bb); // outputs 0 0 0

cvs = 1;
console.log(av, cvs, bb); // outputs 0 1 0

bb = 2;
console.log(av, cvs, bb); // outputs 0 1 2

av = 3;
console.log(av, cvs, bb); // outputs 3 1 2

因此,在初始赋值之外没有连接。


这不是真的。在这种情况下,对象是通过引用传递的。 - Whatcould

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接