问答详情
源自:5-1 编程挑战

为啥用了this就显示了??!!!this不就是指as[i]么!?

 for(var i = 0 ; i < as.length ; i++){
    as[i].onmouseover=function(){
      as[i].style.background='#0cc';
    }
    as[i].onmouseout=function(){
      as[i].style.background="#fff";
    }
   }

为啥用as[i].style.background="#fff";不显示,而用this就行了,?this不就是指as[i]么?!!

提问者:qq_lzY 2016-05-27 14:45

个回答

  • 卡奇
    2016-05-31 11:34:39

    我查到的是不能用循环的方式创建function,这样会出现不可预料的错误,有的时候可以正确使用,有的时候就不可以

  • Zohar
    2016-05-31 09:55:02

    同问,我用as[]也不行

  • woshi123w
    2016-05-28 14:10:52

    this被写在哪个事件中,那么this指代的就是这个事件前的具体对象

    给 onmouseover前直接加this,this没有指代的对象

  • qq_lzY
    2016-05-27 14:51:27

    是onmouseover这些前用this不行,而style前却可以用this

  • qq_lzY
    2016-05-27 14:48:38

    弄错了,this也不行·······