qq_16664565
chengkun370
采纳率50%
2015-08-20 08:34

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

10

刚才没说很清楚,我知道怎样修改会成功,我只是想知道我问的这个情况为什么?为什么我把“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>








  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • huangtuwen 黄途文 6年前

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

    点赞 1 评论 复制链接分享
  • u014326381 前端小白装大神 6年前

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

    点赞 评论 复制链接分享