为什么这两段代码不一样?求解

来源:9-22 编程练习

慕圣9424722

2017-08-23 15:21

 //第一种

     window.onload = function(){

      var td=document.getElementsByTagName("td");

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


            td[i].onmouseover=function(){

            td[i].style.backgroundColor="#f2f2f2";

            }

            td[i].onmouseout=function(){

            td[i].style.backgroundColor="#fff";}

            }

}

//第二种

   window.onload = function(){

        var td=document.getElementsByTagName("td")

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

        bgchange(td[i]);

        }

       }

function bgchange(obj){

        obj.onmouseover=function(){

        obj.style.backgroundColor="#f2f2f2";}

        obj.onmouseout=function(){

        obj.style.backgroundColor="#fff";

        }

   }


写回答 关注

2回答

  • 我要SSR
    2017-08-23 16:36:12
    已采纳

    有点意思- -第二种漏了个符号,还有没有吧bgchange这个函数写在里面(不是指for里面)

    拥牙令 回复慕圣9424...

    虽然已经没有积分了但是我来告诉你吧,由于js的闭包性,i的值并没有传进去~

    2017-08-23 23:39:42

    共 8 条回复 >

  • 慕圣9424722
    2017-08-23 17:36:18

    第一段代码运行没有结果,第二段是有结果的,请问第一段代码问题在哪里

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题