【发布时间】:2019-03-09 17:38:25
【问题描述】:
嗨,我对 JSHint 有问题,导致总是得到 p>
在引用外部范围变量的循环中声明的函数可能会导致语义混乱。 (美元,总计)。 我的函数调用是
var a;
a.each(function (c) {
if (c.length == 0) return;
for (var index in c) {
var test = {};
a.each(function (e) {
var idx = $(e).data('index');
if (idx in test) {
test[idx] += $(e).data('key');
} else {
test[idx] = $(e).data('key');
}
});
}
});
我知道这个问题,因为我在回调中访问了测试变量,但是有没有解决方案,重写代码或告诉 JSHint 不要抛出警告
【问题讨论】:
-
您可以在一般情况下禁用此规则,也可以仅针对这部分代码禁用此规则。
-
我认为 JSHint 不会为您引用的代码发出警告(其网站上的实时功能证实了这一点)。也许如果它在其他一些代码中(特别是循环),但不是单独的。您没有在该代码的循环中声明函数。
-
@T.J.Crowder 是的,我改变了功能
标签: javascript jshint