一行声明多个变量 - 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",则此警告将被忽略。
我正在努力学习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",则此警告将被忽略。