0

我知道我们可以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在前面加上分号?

4

2 回答 2

5
var var1 = val1,
    var2 = val2;

相当于:

var var1 = val1;
var var2 = val2;

逗号用于分隔一个语句中的多个变量声明var,分号用于分隔多个语句。因此,当您使用分号时,您必须var再次使用关键字,因为您正在开始一条新语句。

如果您使用分号并且不在varnew 语句中使用关键字,您将分配一个全局变量,而不是声明一个局部变量。

于 2013-08-25T02:49:11.813 回答
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. var 关键字的用途是什么以及何时使用它(或省略它)?
  2. 在 JavaScript 中声明多个变量
于 2013-08-25T04:34:08.823 回答