【发布时间】:2010-12-11 18:46:45
【问题描述】:
简单案例:我想加载几个具有通用名称和后缀的图像,例如:image0.png、image1.png、image2.png ... imageN.png
我正在使用一个简单的 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 closures