表达价值

时间:2013-02-05 10:10:26

标签: javascript

我有这些声明:

var a;
var b = 1;
var c = 2;
var d = a || b, c;

d是1,那么表达式中,c的含义是什么?

3 个答案:

答案 0 :(得分:5)

构造

var d=a||b, c;

做两件事:

  • 它声明d并为其指定值a||b
  • 它声明了c变量

由于c已经宣布,我会说这完全没用。

答案 1 :(得分:3)

var d = a || b, c;只是意味着var d = a || b; var c;“逗号”用于分隔多个变量的声明。由于,c已定义var c = 2;,因此不需要c

答案 2 :(得分:2)

您的代码有效解释如下:

var a; // Variable declarations are hoisted to top of scope
var b;
var c;
var d;

b = 1;
c = 2;
d = a || b;

所以最终的c声明根本不做任何事情。请注意,var x = y, z;只是一个变量语句,它包含两个声明(其中一个包含赋值)。