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

为什么下面函数用到的timer,在上面的函数用不用声明?

timer 和alpha 这两个没弄到公共属性时候,老师都给var声明了,但是放到上面的函数中就没声明? 

<script type="text/javascript">

    window.onload=function(){

         var oDiv=document.getElementsByTagName('div');

         for (var i = 0; i < oDiv.length; i++) {

         oDiv[i].timer=null;

         oDiv[i].alpha=30;

         oDiv[i].onmouseover=function(){

         change(this,100);

        };

         oDiv[i].onmouseout=function(){

         change(this,30);

        }

    }

}

/*var alpha=30;*/

     function change(obj,Target){

        clearInterval(obj.timer);

        obj.timer=setInterval(function(){

          var speed=0;

         if(obj.alpha>Target){

            speed=-10;

         }else{

            speed=10;

         }

         if(obj.alpha==Target){

            clearInterval(obj.timer)

         }else{

            obj.alpha+=speed;

            obj.style.filter=='alpha(opacity:'+obj.alpha+')';

            obj.style.opacity=obj.alpha/100;

         }


        }, 30)

    }


正在回答

1 回答

下面函数的timer是obj的,而obj是该函数的形参,也就是说下面函数的timer是由参数obj带着的,也就不用声明了,只要obj有timer就可以了

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

12只怕有心人

求教哪本书/材料讲到了相关的知识点?
2016-09-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么下面函数用到的timer,在上面的函数用不用声明?

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