下面代 alert(imgElement)为什么返回的是null,全局变量怎么获取不到?

刚才没说很清楚,我知道怎样修改会成功,我只是想知道我问的这个情况为什么?为什么我把“var imgElement = document.getElementById("box02");”放在fun1
函数体内部返回值就不是null?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档 #box{ width:1000px; height:500px; margin:0 auto;} p{ float:left; margin-right:30px;}

<br> var imgElement = document.getElementById(&quot;box02&quot;);<br> var x=8;<br> function fun1(){<br> alert(imgElement);//为什么返回的是null,全局变量怎么获取不到?<br> alert(x);//返回8<br> }<br>








我推测有两种情况
1、执行var imgElement = document.getElementById("box02");时,页面尚未加载id为box02的元素
2、执行fun1函数之前,覆盖了imgElement变量

你吧一个常量的声明放在一个function中声明,js就把他当成了一个局部变量啊,只能放在你刚那个function中使用这个变量。如果解决了你的疑问,谢谢采纳呵呵。