我有这些声明:
var a;
var b = 1;
var c = 2;
var d = a || b, c;
d是 1 ,那么,c表达式中的 是什么意思?
构造
var d=a||b, c;
做两件事:
d并为其赋值a||bc变量正如c已经声明的那样,我会说它完全没用。
var d = a || b, c;简单地说var d = a || b; var c;“逗号”用于分隔多个变量的声明。这里,c不需要,因为var c = 2;已经定义了c.
您的代码被有效解释如下:
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;只是一个包含两个声明(其中一个包括赋值)的变量语句。