Javsacript for循环发出奇怪的结果

Nas*_*man -2 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);
        }      
    },
Run Code Online (Sandbox Code Playgroud)

在我使用的一个例子中,结果集'a'中有14个项目.for循环,在添加断点时,在0,1,2,2,3,2,3,4,2,3,4,5处显示i的值...基本上它重置并从2开始并且去在再做一遍之前最多增加1个索引...我在这里做错了什么?任何帮助都将不胜感激.

brk*_*brk 5

最有可能的,因为这条线的for (i = 0; i < b; i++)时候i是没有申报letvar关键字,它是在全球范围内.

将此更改为

for (let i = 0; i < b; i++)
Run Code Online (Sandbox Code Playgroud)

另外,如果我的理解是正确的,你想使用user_id变量来访问元素.如果是这样那么改变

   user_id = a.items[i].id;
  $('#user_id').checked = true;
Run Code Online (Sandbox Code Playgroud)

let user_id = a.items[i].id;
$('#'+user_id).checked = true;
Run Code Online (Sandbox Code Playgroud)