JSLint 中迭代器变量的声明被标记为警告
Posted
技术标签:
【中文标题】JSLint 中迭代器变量的声明被标记为警告【英文标题】:Declaration of iterator variable in JSLint is flagged as warning 【发布时间】: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 unused variable error的可能重复 jslint 是否支持 ES6let
关键字?尝试改用 eslint。
JSlint 支持 let 关键字,但必须要么全部用 let,要么全部用 var,不能混用。
@zero298 这不是未使用的变量问题。为了证明这一点,我将其更改为控制台日志 i,唯一的变量,无论是否在严格模式下,它都会给出相同的错误。
@Bergi JSLint 确实支持 ES6
【参考方案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以上是关于JSLint 中迭代器变量的声明被标记为警告的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有迭代器变量的情况下实现 Python for range 循环?