问答详情
源自:9-22 编程练习

大神求解释啊 脑子笨转不过弯来

 window.onload = function(){
          var tr=document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgcChange(tr[i]);
          }
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
      }         
     function bgcChange(obj)
     {
        obj.onmouseover=function(){
            obj.style.backgroundColor="#f2f2f2";
        }
        obj.onmouseout=function(){
            obj.style.backgroundColor="#fff";
        }
     }
     问题1: window.onload = function(){
          var tr=document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgcChange(tr[i]);
          }
          这里的   bgcChange(tr[i]);是什么意思? 这一段的代码 - -没理解。前面的for循环
          感觉是把每一个tr装到   bgcChange(tr[i]);这里、可这个东西是哪里来的?
          问题2:
          function bgcChange(obj)
     {
        obj.onmouseover=function(){
            obj.style.backgroundColor="#f2f2f2";
        }
        obj.onmouseout=function(){
            obj.style.backgroundColor="#fff";
        }
         function bgcChange(obj) 这里跟刚才第一段代码里的 bgcChange(tr[i]),有什么关联 吗
         为什么?


提问者:qq_宾克斯的美酒_04230322 2016-12-28 20:42

个回答

  • 慕娘8441571
    2016-12-28 22:21:23
    已采纳

    1、document.getElementByTagName("tr")返回的是一个包含所有tr标签的数组;bgcChange(tr[i])就是数组第i个元素传给bgcChange函数;2、 bgcChange(tr[i])是对bgcChange函数的调用,将tr[i]代替obj;

  • 慕娘8441571
    2016-12-29 11:22:04

    我记得先声明函数再使用只有在C语言里才是必须的吧?