[英]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.