关于this的问题

来源:9-22 编程练习

宇xixi

2016-01-22 15:49

这个是正确的:

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"
             }    
         }

写回答 关注

1回答

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

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

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题