作业帮 > 综合 > 作业

奇怪的JS函数,函数与其内部函数得出的结果不同

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/05 01:09:13
奇怪的JS函数,函数与其内部函数得出的结果不同
function requestH(img){
\x05var imgH;
\x05var imgObj=new Image();
\x05imgObj.src=img;
imgObj.onload=function (){
imgH=imgObj.height;
alert(imgH);//此处能够得到数值
}
\x05alert(imgH);//此处不知道为何,返回"undefined"
}
奇怪的JS函数,函数与其内部函数得出的结果不同
onload是一个事件,要执行后面的function需要载入完毕才行,所以当一面执行到
alert(imgH);//此处不知道为何,返回"undefined"
时图片对象imgObj还没有加载完,所以想弹出"undefined",
等到imgObj加载完的时候,触发onload事件,并执行onload绑定的函数,该函数执行之后imgH被赋值了,所以后面又弹出一个具有height值警告框.
  alert(imgH);//此处能够得到数值