Javascript在循环内调用函数

Javascript在循环内调用函数,javascript,jquery,Javascript,Jquery,我需要在for循环中调用函数。我已经设法写了一个闭包函数。但这对我不起作用。请帮助解决此问题。非常感谢你的帮助 for(var i = 0; i < pointsData.length; i++){ (function(foo){ routeId = pointsData[i]._id; colorId = pointsData[foo].route_color; console.log('color start', colorId)

我需要在for循环中调用函数。我已经设法写了一个闭包函数。但这对我不起作用。请帮助解决此问题。非常感谢你的帮助

for(var i = 0; i < pointsData.length; i++){
    (function(foo){
        routeId = pointsData[i]._id;
        colorId = pointsData[foo].route_color;
        console.log('color start', colorId);
        $.post('commands.php',{command: 'get-route-coords',id: pointsData[foo]._id}
            ,function(data){              
                MYMAP.setAllRoutes(last, coordinates, pointsData[foo].route_color);
            });                         
    }(i));
}
MYMAP.setAllRoutes = function(center,flightPlanCoordinates,colorId) {
    console.log('color ids', colorId);
}
for(变量i=0;i
为什么不像下面那样在循环中运行代码呢。要求的理由是什么

for(var i = 0; i < pointsData.length; i++){ 
    routeId = pointsData[i]._id;
    colorId = pointsData[foo].route_color;
    console.log('color start', colorId);
    $.post('commands.php',{command: 'get-route-coords',id: pointsData[foo]._id} ,function(data){              
        MYMAP.setAllRoutes(last, coordinates, pointsData[foo].route_color);
    });  
}

MYMAP.setAllRoutes = function(center,flightPlanCoordinates,colorId) {
    console.log('color ids', colorId);
}
for(var i=0;i
什么不起作用?你的问题需要更详细。有错误吗?您在函数中同时使用了“foo”(多么清晰的名称!)和“i”。您没有将“routeId”、“colorId”声明为变量,因此它们是全局变量。。。但不管怎样,你忘了马上用。您接近每行一个错误比率=>要么需要睡眠,要么需要学习更多关于Javascript的知识;-)。