奇怪的JS函数,函数与其内部函数得出的结果不同function requestH(img){\x05var imgH;\x05var imgObj=new Image();\x05imgObj.src=img;imgObj.onload=function (){imgH=imgObj.height;alert(imgH);//此处能够得到数值}\x05alert(imgH);//此
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 00:44:38
![奇怪的JS函数,函数与其内部函数得出的结果不同function requestH(img){\x05var imgH;\x05var imgObj=new Image();\x05imgObj.src=img;imgObj.onload=function (){imgH=imgObj.height;alert(imgH);//此处能够得到数值}\x05alert(imgH);//此](/uploads/image/z/9365860-28-0.jpg?t=%E5%A5%87%E6%80%AA%E7%9A%84JS%E5%87%BD%E6%95%B0%2C%E5%87%BD%E6%95%B0%E4%B8%8E%E5%85%B6%E5%86%85%E9%83%A8%E5%87%BD%E6%95%B0%E5%BE%97%E5%87%BA%E7%9A%84%E7%BB%93%E6%9E%9C%E4%B8%8D%E5%90%8Cfunction+requestH%28img%29%7B%5Cx05var+imgH%3B%5Cx05var+imgObj%3Dnew+Image%28%29%3B%5Cx05imgObj.src%3Dimg%3BimgObj.onload%3Dfunction+%28%29%7BimgH%3DimgObj.height%3Balert%28imgH%29%3B%2F%2F%E6%AD%A4%E5%A4%84%E8%83%BD%E5%A4%9F%E5%BE%97%E5%88%B0%E6%95%B0%E5%80%BC%7D%5Cx05alert%28imgH%29%3B%2F%2F%E6%AD%A4)
奇怪的JS函数,函数与其内部函数得出的结果不同function requestH(img){\x05var imgH;\x05var imgObj=new Image();\x05imgObj.src=img;imgObj.onload=function (){imgH=imgObj.height;alert(imgH);//此处能够得到数值}\x05alert(imgH);//此
奇怪的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函数,函数与其内部函数得出的结果不同function requestH(img){\x05var imgH;\x05var imgObj=new Image();\x05imgObj.src=img;imgObj.onload=function (){imgH=imgObj.height;alert(imgH);//此处能够得到数值}\x05alert(imgH);//此
onload是一个事件,要执行后面的function需要载入完毕才行,所以当一面执行到
alert(imgH);//此处不知道为何,返回"undefined"
时图片对象imgObj还没有加载完,所以想弹出"undefined",
等到imgObj加载完的时候,触发onload事件,并执行onload绑定的函数,该函数执行之后imgH被赋值了,所以后面又弹出一个具有height值警告框.
alert(imgH);//此处能够得到数值