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

关于this的问题

这个是正确的:

for(var i=1;i<stytr.length;i++)
        {
            stytr[i].onmouseover= function()
            {
              this.style.background="#f2f2f2"
             }    
             stytr[i].onmouseout= function()
            {
              this.style.background="#fff"
             }    
         }

这个是问题,this修改为这个,为什么不行?
for(var i=1;i<stytr.length;i++)
        {
            stytr[i].onmouseover= function()
            {
             stytr[i].style.background="#f2f2f2"
             }    
             stytr[i].onmouseout= function()
            {
              stytr[i].style.background="#fff"
             }    
         }

提问者:宇xixi 2016-01-22 15:49

个回答

  • 亲爱的路人11
    2016-01-22 16:21:48

    因为stytr[i]只能代表的是当前的stytr变换的值,而js是要调用在各个页面的,所以是作用域有区别,我市这么理解的!