jQuery更多变量分号或逗号 - 基本

时间:2013-08-25 02:44:32

标签: javascript jquery

我知道我们可以使用一个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

2 个答案:

答案 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问题:

  1. What is the purpose of the var keyword and when to use it (or omit it)?
  2. Declaring Multiple Variables in JavaScript