そのため、アラートは幅と高さの未定義の値を示します。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');
アラートに正しい幅と高さを表示するにはどうすればよいですか?