为什么不能使用全局变量

来源:2-2 JS透明度动画

衣染

2016-10-08 11:21

window.onload=function(){

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

block.onmouseover=function(){


startMove(10,0);

}

block.onmouseout=function(){

startMove(-10,-300);

}

}


写回答 关注

4回答

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

    您找着原因了吗?

    我也有这个疑问,

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

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

    ______...

    噢噢 我找到原因了 虽然是全局变量 但页面还没有加载完毕 onload中还获取不到"document.get...()"这类的值 所以会出现null的情况

    2017-06-19 16:05:03

    共 1 条回复 >

  • 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

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

    衣染

    我开始就是写在onload 外面的~但是不起作用~alert 弹出的居然是null

    2016-10-08 11:47:15

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题