这个问题已经有几个答案(某种程度上): Javascript:var = var = function ,一行中的多个变量分配等等但是我想提出一个不同的问题。
因此,能够使用它非常方便:
var av = 0, bb;
var cvs = bb = av;
console.log(cvs,bb) // outputs 0 0
我的问题是,跨浏览器是怎么回事?我可以随处使用它,包括IE6或诸如此类的东西,或者我应该坚持:
var av = 0, bb;
bb = av; cvs = av;
如果你在代码中的任何一点改变一个变量,这是否意味着另一个变量也被改变了,或者在初始赋值之外是否没有连接?
谢谢!
答案 0 :(得分:1)
您可以依赖此行为,它是ECMAScript标准的一部分。你可以在这里查看具体细节:
ECMAScript Language Specification (5.1) - Simple Assignment
答案 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
因此在初始分配之外没有任何联系。