尝试重写for循环,得到jslint错误
Trying to rewrite for loop, get jslint error
我正在尝试组合各种代码,所以我想提前声明 i
的开始。
旧
var i,
max_i = 4;
for (i = 2; i<= max_i; i += 1)
{
//things
}
新
var i = 2,
max_i = 4;
for (; i<= max_i; i += 1)
{
//things
}
问题是我在 JSLint 中收到各种错误
- 应为“)”,但看到的是“<=”。
- 应为“;”而是看到 'i'.
- 预期为“{”,实际看到 'max_i'。
代码在两种情况下都可以正常执行。
您可以预先声明和初始化i
,但您仍然必须在循环配置中将其设置为循环变量。而且,如果你在循环配置中初始化它会更清楚,而不是在上面因为调试会更容易。
var i , max_i = 4;
for (i = 2; i <= max_i; i++) {
//things
}
此外,最好始终将左大括号 (}
) 与其定义的语句放在同一行,因为在 JavaScript 中存在某些情况,将其放在由于自动分号插入,下一行可能会导致代码中出现错误。
最后,要将值加一,您可以使用 ++
单数组运算符,而不是 +=1
。
for (i; i<= max_i; i += 1)
{
//things
}
JSLint 帮助你写出更好的代码,相信它,这与品味无关。
它抱怨因为不初始化 for()
被认为是丑陋的(糟糕的风格)。
您应该一如既往地初始化它。我也会尽量不定义变量,而是声明它们,然后初始化它们,如下所示。我现在也会使用 "use strict"
。不这样做有点不愉快。外部函数是为了避免全局和非函数范围的代码:
/*jslint for */
(function () {
"use strict";
var i;
var max_i;
max_i = 4;
for (i = 2; i <= max_i; i += 1)
{
// things
}
}());
我正在尝试组合各种代码,所以我想提前声明 i
的开始。
旧
var i,
max_i = 4;
for (i = 2; i<= max_i; i += 1)
{
//things
}
新
var i = 2,
max_i = 4;
for (; i<= max_i; i += 1)
{
//things
}
问题是我在 JSLint 中收到各种错误
- 应为“)”,但看到的是“<=”。
- 应为“;”而是看到 'i'.
- 预期为“{”,实际看到 'max_i'。
代码在两种情况下都可以正常执行。
您可以预先声明和初始化i
,但您仍然必须在循环配置中将其设置为循环变量。而且,如果你在循环配置中初始化它会更清楚,而不是在上面因为调试会更容易。
var i , max_i = 4;
for (i = 2; i <= max_i; i++) {
//things
}
此外,最好始终将左大括号 (}
) 与其定义的语句放在同一行,因为在 JavaScript 中存在某些情况,将其放在由于自动分号插入,下一行可能会导致代码中出现错误。
最后,要将值加一,您可以使用 ++
单数组运算符,而不是 +=1
。
for (i; i<= max_i; i += 1)
{
//things
}
JSLint 帮助你写出更好的代码,相信它,这与品味无关。
它抱怨因为不初始化 for()
被认为是丑陋的(糟糕的风格)。
您应该一如既往地初始化它。我也会尽量不定义变量,而是声明它们,然后初始化它们,如下所示。我现在也会使用 "use strict"
。不这样做有点不愉快。外部函数是为了避免全局和非函数范围的代码:
/*jslint for */
(function () {
"use strict";
var i;
var max_i;
max_i = 4;
for (i = 2; i <= max_i; i += 1)
{
// things
}
}());