第二种方式是相同的图像。
如果你这么说的话:
b = a;
c = b;
如果a
是一个对象,那么b
和c
只是指向同一个对象的引用。
制作一个加载图像的函数怎么样?
function loadImage(name, optionalCallback) {
var img = new Image();
if (typeof optionalCallback === "function") { img.onload = optionalCallback; }
img.src = name;
return img;
}
然后你可以说:
var a = loadImage("images/image01.png", function () { document.body.appendChild(this); }),
b = loadImage("images/image02.jpg", function () { gallery.addImage(this); });
你可以用它做更多的事情,当你走得更远时——当你进入Promises
等等时,你可以用这些图像做很多事情。
此外,如果您正在编写如下所示的程序,您可能需要小心:
var a = new Image();
a.src = "images/image01.jpg";
document.getElementById("gallery").appendChild(a);
如果您在图像加载完成之前到达将图像添加到页面的代码部分,那么您可能会得到意想不到的结果。