高手来看看这个是不是作用域的问题啊
第一种情况:最后arr是我想要的结果,包含所有obj[key];function foo(obj){ var arr = []; for(key in obj){ var img = new Image(); img.src = obj[key]; arr.push(img); } console.log(arr);}第二种情况,为什么最后arr是空的?怎样才可以达到和第一种情况一样的效果?function foo(obj){ var arr = []; for(key in obj){ var img = new Image(); img.src = obj[key]; addEvent(img, 'load', function(){//图片加载完后才添加进去 arr.push(this); }) } console.log(arr);}function foo(obj){ var arr = []; for(key in obj){ var img = new Image(); img.src = obj[key]; addEvent(img, 'load', function(){//图片加载完后才添加进去 arr.push(this); if(arr.length==obj.length){ console.log(arr); } }) }}
[解决办法]