Javsacript for loop发出奇怪的结果

时间:2018-10-12 20:01:59

标签: javascript jquery mootools

我编写了一个简单的for循环,以根据json响应执行一些DOM操作。这是我的代码

 onSuccess: function(a) {
        var b = a.items.length;
        for (i = 0; i < b; i++)
          user_id = a.items[i].id;
          $('#user_id').checked = true;
          selectUserSettings(user_id);
        }      
    },

在我正在使用的一个示例中,结果集“ a”中有14个项目。 for循环在添加断点时显示i的值为0、1、2、2、3、2、3、4、2、3、4、5 ...基本上,它会重置并从2开始并转到最多再增加1个索引,然后再进行一次...我在这里做错了吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

很可能是由于在声明for (i = 0; i < b; i++)时没有使用ilet关键字的情况下,此行var在全局范围内。

将此更改为

for (let i = 0; i < b; i++)

如果我的理解是正确的,您还想使用user_id变量来访问元素。如果是这样,则更改

   user_id = a.items[i].id;
  $('#user_id').checked = true;

let user_id = a.items[i].id;
$('#'+user_id).checked = true;