Javascript 图像加载功能,它是如何工作的?

Javascript 图像加载功能,它是如何工作的?,javascript,image,Javascript,Image,我正在寻找一个检查URL是否为图像的函数,我发现: function checkImage(imageSrc, good, bad) { var img = new Image(); img.onload = good; img.onerror = bad; img.src = imageSrc; } checkImage("foo.gif", function(){ alert("good"); }, function(){ alert("bad"); }

我正在寻找一个检查URL是否为图像的函数,我发现:

function checkImage(imageSrc, good, bad) {
    var img = new Image();
    img.onload = good; 
    img.onerror = bad;
    img.src = imageSrc;
}

checkImage("foo.gif", function(){ alert("good"); }, function(){ alert("bad"); } );
它工作正常,但作者没有解释它是如何工作的,我有点困惑

img.onload=good如何知道要激活什么功能,而另一方面img.onerror=bad如何工作


谢谢你的帮助

他基本上是在创建一个
img
元素,其属性为
src
onload
onerror
。这在html中的等价性是

<img src="foo.gif" onload="function(){alert('good')}" onerror="function(){alert('bad')}" />


请参阅。我了解image.onload的工作原理,但为什么要为它们分配匿名函数?如果检查参数,则会根据图像事件传递函数以警告好坏。当未找到或断开图像链接时,返回OnError。当加载或找到图像时,OnLoad工作。如果从您传递的checkImage参数中找到好函数,则会触发或触发坏函数。您调用上面实现的方法
checkImage
,并将这些警报消息作为回调函数传递给您的方法。这只是为了进行检查。你们可以根据自己的需要做任何事情,比如给图片添加类,或者当图片被破坏时你们想做的事情,等等。这完全取决于你们自己。这个函数就像一个例子。