所以警报给出了未定义的宽度和高度值。我认为来自 img.onload 计算的图像的 w 和 h 值没有传递给要返回的值,或者它可能在 onload 计算它们之前返回 w 和 h:
function getMeta(url){
var w; var h;
var img=new Image;
img.src=url;
img.onload=function(){w=this.width; h=this.height;};
return {w:w,h:h}
}
// "http://snook.ca/files/mootools_83_snookca.png" //1024x678
// "http://shijitht.files.wordpress.com/2010/08/github.png" //128x128
var end = getMeta("http://shijitht.files.wordpress.com/2010/08/github.png");
var w = end.w;
var h = end.h;
alert(w+'width'+h+'height');
如何让警报显示正确的宽度和高度?