我知道我们可以使用一个var
来表示许多变量并使用逗号分隔它们
var text1 = 'abc',
text2 = 'bcd',
text3 = 'dfg'
但如果我的变量是
var text1 = 'abc',
text2 = 'bcd',
text3 = 'dfg',
text4 = $(this).find('div').next('li');
text5 = $(this).find('div2').next('li2');
我发现text4末尾的逗号不正确,如果是这样的情况,我们仍然需要逗号分隔或分号与前面的var
?
答案 0 :(得分:5)
var var1 = val1,
var2 = val2;
相当于:
var var1 = val1;
var var2 = val2;
逗号用于在一个var
语句中分隔多个变量声明,分号用于分隔多个语句。所以当你使用分号时,你必须再次使用var
关键字,因为你正在开始一个新的声明。
如果使用分号并且不在新语句中使用var
关键字,则将分配全局变量,而不是声明本地变量。
答案 1 :(得分:3)
这是一个直观的答案; JavaScript会像这样解释您的代码:
var text1 = 'abc',
text2 = 'bcd',
text3 = 'dfg',
text4 = $(this).find('div').next('li');
text5 = $(this).find('div2').next('li2');
这是一个语义错误的一个很好的例子,这意味着你的代码在语法上是正确的但不符合你的意思。重要的是,JavaScript会使text5
成为全局变量,因为它是在没有var
的情况下声明的。
有关更多信息,请参阅这两个SO问题: