问答详情
源自:2-2 JS透明度动画

为什么不能使用全局变量

window.onload=function(){

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

block.onmouseover=function(){


startMove(10,0);

}

block.onmouseout=function(){

startMove(-10,-300);

}

}


提问者:衣染 2016-10-08 11:21

个回答

  • _____________12
    2017-06-19 15:56:17

    您找着原因了吗?

    我也有这个疑问,

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

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

  • litmonw
    2016-10-09 19:32:46

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

  • 妈妈叫我好孩子
    2016-10-08 11:51:25

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

  • 妈妈叫我好孩子
    2016-10-08 11:45:31

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