一行声明多个变量 - Javascript

Multiple variable declaration in one line - Javascript

我正在努力学习Javascript。我遇到了以下代码。

// Random function.
function order_summary(order_object) {
  var x, y;
  // More code here.
}

当我在 Jslint 中 运行 这段代码时,出现以下错误。

Expected ';' and instead saw ','.
var x, y;

我没有发现这段代码有任何问题。谁能解释一下这个错误是什么意思?

Jslint 是一种样式执行工具,不喜欢在一行中声明多个变量。要修复它,只需在每一行上声明每个变量。例如

var x;
var y;

之所以jslint不喜欢这个是因为javascript有分号插入。所以如果你不小心漏掉了这样一个逗号:

var x
y = 10;

JS会在第一行末尾插入分号,你会不小心创建了一个全局变量y。

两种风格之间有一个非常重要的区别:

var l1 = 1,
    l2 = 2;

var l1 = 1;
var l2 = 2;

即:在第二种形式中,调试器可以逐个执行每个赋值。

在第一种形式中,整行是一个巨大的表达式,调试器试图立即执行它。当您有依赖于早期操作的分配时,逐行方法非常有用。

在任何 javascript 运行 时间内使用单个 var 声明多个变量完全不是问题。这只是 JSLint 抛出的警告,因为默认情况下它建议每行 1 个变量。

如果您选中 "Tolerate.." 下的选项 "multiple vars",则此警告将被忽略。