我有这些声明:
var a;
var b = 1;
var c = 2;
var d = a || b, c;
d
是 1 ,那么,c
表达式中的 是什么意思?
构造
var d=a||b, c;
做两件事:
d
并为其赋值a||b
c
变量正如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;
只是一个包含两个声明(其中一个包括赋值)的变量语句。