1

我有这些声明:

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

d是 1 ,那么,c表达式中的 是什么意思?

4

3 回答 3

5

构造

var d=a||b, c;

做两件事:

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

正如c已经声明的那样,我会说它完全没用。

于 2013-02-05T10:14:13.420 回答
3

var d = a || b, c;简单地说var d = a || b; var c;“逗号”用于分隔多个变量的声明。这里,c不需要,因为var c = 2;已经定义了c.

于 2013-02-05T10:14:47.693 回答
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;只是一个包含两个声明(其中一个包括赋值)的变量语句。

于 2013-02-05T10:13:38.757 回答