js中,闭包函数怎么实时改变外部变量的值 15

functiongetResult(fileName){varimg=newImage();img.src="material/"+fileNamevarfinded=t... function getResult(fileName) {
var img=new Image();
img.src="material/" + fileName
var finded=true;
img.onerror=function(){
finded=false;
alert("局部:"+finded); //局部1:false
};
alert("全局1:"+finded); //全局1:true
alert("全局2:"+finded); //全局2:false
if(finded==false){
return "<h1>没有此附件材料</h1>";
}else{
return "<img width='700px' src='material/" + fileName + "'/>";
}
}
当图片加载不到,finded就为false,但在闭包函数外部就仍然为true,只有先alert(finded)一次,这值(finded)才能改变,怀疑是内存问题,怎么解决呢?

我的需求是要知道这图片是否加载成功,不成功则返回文字,成功则显示图片。这个东西不用上面的还可以用什么呢?
第四行的var finded=true;改为finded=true;也是一样没有效果
展开
 我来答
匿名用户
2017-06-06
展开全部
img.src="material/" + fileName 放在img.onerror回调函数的后面
追问
放在后面还是一样的情况,并没有变化呢,关键是要知道是否调用了onerror这个回调函数,我做后台的,并不太了解前端
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式