简单案例:我想要加载多个具有通用名称和后缀的图像,例如:image0.png,image1.png,image2.png ... imageN.pngfor循环和词汇环境中的闭包
我使用for循环简单:
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";
}
什么我得到的控制台:
Image N loaded
Image N loaded
Image N loaded
...
Image N loaded
但我想应该是这样的:
Image 0 loaded
Image 1 loaded
Image 2 loaded
...
Image N loaded
这是为什么发生? 我怎样才能得到我想要的行为?
可能重复[关闭的Javascript内循环 - 简单实用的例子(http://stackoverflow.com/questions/750486/javascript-closure -inside-loops-simple-practical-example) – 2010-12-11 19:40:12