"警告:将此与之前的'警告相结合。声明",而所说的变量是在for循环之后

时间:2014-07-17 19:19:40

标签: javascript jslint

所以我有这段代码:

function circular() {
    "use strict";
    var circle = document.getElementsByClassName("loadingCircle"),
        i;
    for (i = 0; i < circle.length; i += 1) {
        var radius = circle[i].getAttribute("data-radius"),
            trackWidth = circle[i].getAttribute("data-trackWidth"),

            // more after this but it's not relevant

现在我收到了这个JSlint警告:

  

将此与之前的'var'语句相结合。

但如果我这样做,整个剧本就会被杀死。

1 个答案:

答案 0 :(得分:3)

您可以在for循环之外声明变量radiustrackWidth,而不必在函数的头部指定它们,如下所示:

function circular() {
    "use strict";
    var circle = document.getElementsByClassName("loadingCircle"),
        radius,
        trackWidth,
        i;
    for (i = 0; i < circle.length; i += 1) {
        radius = circle[i].getAttribute("data-radius"),
        trackWidth = circle[i].getAttribute("data-trackWidth"),

            // more after this but it's not relevant

顺便说一句,JSLint是出了名的严格,其中许多规则都是更具风格的偏好。您可能更愿意使用JSHint(并且许多编辑器的插件也可用)