2

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

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

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

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

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

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

4

2 回答 2

3

请参阅逗号运算符

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

所以b = "value_2"之前被评估过c = b

于 2012-05-30T22:00:37.807 回答
2

这并不是问题的真正答案,但是当面对同一事物的两种表达方式之间的这种选择时,请始终选择不那么模棱两可的表达方式。

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

于 2012-05-30T22:16:44.397 回答