繁体   English   中英

Javascript多变量赋值

[英]Javascript multiple variable assignment

这个问题已经有几个答案(有点): 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;

如果你在代码中的任何一点改变一个变量,这是否意味着另一个变量也被改变,或者在初始赋值之外是否没有连接?

谢谢!

您可以依赖此行为,它是ECMAScript标准的一部分。 您可以在这里查看确切的详细信息:
ECMAScript语言规范(5.1) - 简单分配

回答你的第二个问题:

如果你在代码中的任何一点改变一个变量,这是否意味着另一个变量也被改变,或者在初始赋值之外是否没有连接?

这很容易测试:

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

所以在初始分配之外没有任何联系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM