Cas simple: Je souhaite charger plusieurs images ayant un nom commun et un suffixe, par exemple: image0.png, image1.png, image2.png ... imageN.pngFermetures dans un environnement en boucle et lexical
J'utilise une simple boucle:
var images = [];
for (var i=1; i<N; i++) {
images[i] = new Image();
images[i].onload = function() {
console.log("Image " + i + " loaded");
};
images[i].src = "image" + i + ".png";
}
ce que je veux dans la console est:
Image N loaded
Image N loaded
Image N loaded
...
Image N loaded
Mais ce que je veux devrait ressembler à ceci:
Image 0 loaded
Image 1 loaded
Image 2 loaded
...
Image N loaded
Pourquoi cela se produit-il? Comment puis-je obtenir le comportement souhaité?
double possible de [fermeture Javascript boucles à l'intérieur - exemple simple pratique] (http://stackoverflow.com/questions/750486/javascript-closure -inside-loops-simple-pratique-exemple) –