【问题标题】:"Warning: Combine this with the previous 'var' statement", while the variable spoken of is after a for loop“警告:将此与前面的 'var' 语句结合起来”,而所说的变量是在 for 循环之后
【发布时间】:2014-07-17 19:19:39
【问题描述】:

所以我有这段代码:

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”语句结合起来。

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

【问题讨论】:

    标签: javascript jslint


    【解决方案1】:

    您可以在 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 代替(许多编辑器的插件也可用)

    【讨论】:

    • 原因是变量只初始化一次,而不是每个循环周期一次。
    • 谢谢!这正是我们所需要的!
    猜你喜欢
    • 2023-03-21
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多