【问题标题】:Declaration of iterator variable in JSLint is flagged as warningJSLint 中迭代器变量的声明被标记为警告
【发布时间】:2019-06-23 22:08:01
【问题描述】:

如何为通过 JSLint.com 验证的循环变量声明迭代器。

我尝试过 var、let,但都不起作用。我将脚本简化为这一行。 JSlint.com 不会超过此警告。用谷歌搜索并尝试了我能想到的所有 for 循环组合。我启用了允许循环,并阅读了 JSlint nazi 帮助指南。

/*jslint
 for
*/
function test() {
    "use strict";
    for (let i = 0; i < 5; i += 1) {
        console.log(i);
    }
}

JSLint.com 标志:

Unexpected 'let'.
    for (let i = 0; i < 5; i += 1) {

这不是一个未使用的变量问题。为了证明这一点,我将其更改为控制台日志 i,唯一的变量,无论是否在严格模式下,它都会给出相同的错误。JSLint 确实支持 ES6

【问题讨论】:

  • jslint 是否支持 ES6 let 关键字?尝试改用 eslint。
  • JSlint 支持 let 关键字,但必须要么全部用 let,要么全部用 var,不能混用。
  • @zero298 这不是未使用的变量问题。为了证明这一点,我将其更改为控制台日志 i,唯一的变量,无论是否在严格模式下,它都会给出相同的错误。
  • @Bergi JSLint 确实支持 ES6

标签: javascript jslint


【解决方案1】:

根据 JSlint http://www.jslint.com/help.html#for JSLint 不推荐使用 for 语句。请改用 forEach 之类的数组方法。 for 选项将抑制一些警告。 JSLint 接受的 for 的形式受到限制,不包括新的 ES6 形式。 编辑 : 如果您启用

,则此方法有效
function test(){
let i = 0;
for (i = 0; i < 5; i += 1) {
       console.log(i);
    }
}

【讨论】:

  • 谢谢,这是根本原因!稍微调整一下就完全了。功能测试(){“使用严格”;让我;对于 (i = 0; i
猜你喜欢
  • 2015-08-13
  • 2011-11-13
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 2012-11-15
相关资源
最近更新 更多