Javascript 价值++;在for循环本身中

Javascript 价值++;在for循环本身中,javascript,for-loop,callback,Javascript,For Loop,Callback,我有一个关于javascript中for循环的相当简单的问题。我试图在运行一个方法后增加值(j),该方法声明一个回调方法,并在该函数中增加值。但是我的代码中断了,我不确定它是否是有效的JavaScript。但我检查的所有地方都是有效的javascript代码: 就像那句话,陈述3 这是我的密码: for(j=0; j <= 5; ) { var keyContent = window.localStorage[window.localStorage.key(j)]; c

我有一个关于javascript中for循环的相当简单的问题。我试图在运行一个方法后增加值(
j
),该方法声明一个回调方法,并在该函数中增加值。但是我的代码中断了,我不确定它是否是有效的JavaScript。但我检查的所有地方都是有效的javascript代码:

就像那句话,陈述3

这是我的密码:

for(j=0; j <= 5; )
{

    var keyContent = window.localStorage[window.localStorage.key(j)];
    console.log(keyContent);
    var dataForm = JSON.parse(keyContent);

    uploadDataAndImage(dataForm, function(data) {  
        console.log(data);
        if(data){

            console.log("Data good");
            j++;
        }
        else
        {

            console.log("Data bad");
            break;
        }
    });         
}

for(j=0;j代码中的问题不是循环,而是
break
语句。我建议您通过
return
语句来更改它

for(j=0; j <= 5; )
{

    var keyContent = window.localStorage[window.localStorage.key(j)];
    console.log(keyContent);
    var dataForm = JSON.parse(keyContent);

    uploadDataAndImage(dataForm, function(data){
    console.log(data);
    if(data){

        console.log("Data good");
        j++;
    }
    else
    {

        console.log("Data bad");
        return;
    }
    });

}

for(j=0;j如果需要在循环内递增,则需要一个while循环:

var j = 0;
while (j <= 5) {
    var keyContent = window.localStorage[window.localStorage.key(j)];
  console.log(keyContent);
  var dataForm = JSON.parse(keyContent);

  uploadDataAndImage(dataForm, function(data) {  
    console.log(data);
    if(data){
        console.log("Data good");
      j++;
    } else {
      console.log("Data bad");
      break;
    }
  });         
}
var j=0;

虽然(j Increment j in for loop like(j++)
uploadDataAndImage
是异步的,不是吗?这根本不适用于for循环。是的,它是异步的。我通过使用一种变通方法使它工作,请看我的editNot work,应用程序只是冻结和崩溃。如果我将j++放入for循环本身,如:for(j=0;j编号。对
循环使用
是完全正确的,并且将以相同的方式工作。
var j = 0;
while (j <= 5) {
    var keyContent = window.localStorage[window.localStorage.key(j)];
  console.log(keyContent);
  var dataForm = JSON.parse(keyContent);

  uploadDataAndImage(dataForm, function(data) {  
    console.log(data);
    if(data){
        console.log("Data good");
      j++;
    } else {
      console.log("Data bad");
      break;
    }
  });         
}