为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能使用全局变量

window.onload=function(){

var block=document.getElementById("block");  //为什么这一行不能作为全局变量调用呢?我试了,alert出来的时候 居然是null。有点疑惑,求解?

block.onmouseover=function(){


startMove(10,0);

}

block.onmouseout=function(){

startMove(-10,-300);

}

}


正在回答

4 回答

您找着原因了吗?

我也有这个疑问,

放在onload外面按理说是全局变量,

为什么在onload里就访问不了了呢??

0 回复 有任何疑惑可以回复我~
#1

_____________12

噢噢 我找到原因了 虽然是全局变量 但页面还没有加载完毕 onload中还获取不到"document.get...()"这类的值 所以会出现null的情况
2017-06-19 回复 有任何疑惑可以回复我~

因为你的window.onload=function(){}本身就是作为一个函数,你的var block=document.getElementById("block");放在里面就是一个局部变量 ,如果要作为全局变量必须放在<script>里面。onload外面。

0 回复 有任何疑惑可以回复我~

你可以先在外面声明,然后在onload中在赋值

0 回复 有任何疑惑可以回复我~

你写在方法内部的是局部变量,要在外面声明才是全局变量。

0 回复 有任何疑惑可以回复我~
#1

衣染 提问者

我开始就是写在onload 外面的~但是不起作用~alert 弹出的居然是null
2016-10-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不能使用全局变量

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信