Javascript:多变量声明 - 变量什么时候可用?

时间:2012-05-30 21:57:17

标签: javascript scope variable-declaration

假设我以下列方式声明变量列表:

var a = "value_1"
  , b = "value_2"
  , c = b;

c的预期价值是多少?换句话说,变量的范围是在逗号之后立即可用,还是直到分号?

这与以下代码段相反,其中很明显c的值为"value_2"

var a = "value_1";
var b = "value_2";
var c = b;

我以为我会问,而不是在浏览器中测试,只是假设行为是一致的。

2 个答案:

答案 0 :(得分:3)

请参阅the comma operator

  

逗号运算符计算其两个操作数(从左到右)并返回第二个操作数的值

因此在b = "value_2"

之前评估c = b

答案 1 :(得分:2)

这不是问题的答案,但是当面对同一事物的两个表达式之间的这种选择时,总是选择不那么模糊的那个。

在您的第二个代码段中,每个人都清楚最终状态是什么。对于第一个,好吧,你不得不在这里问一个问题:)如果你从现在起一个月内回到代码,或者如果其他人做了,那么你将不得不经历相同的查找过程出实际意义。我认为值得保存的是6个字符。