继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript中this的简单自我理解

ExiaGo
关注TA
已关注
手记 10
粉丝 7
获赞 36

对于JavaScript中的this,网上面有很多的介绍,我也看了不少,还有apply和call等方法,其实自己看看,写写就会发现其实还是挺好理解的,这里的手记只是为了做一个记录,也能让一起学习的人来点评一下。
以下是一个简单的使用this的例子
假如我们要在元素中使用一个onmouseover的方法,也就是鼠标放到上面的时候会有特定的效果出来,定义出一个方法函数changeC,代表变颜色

<div class="nav">
            <ul class="list_2"  id="list_2">
                <li onmouseover="changeC(this)" onmouseout="changeC(this)"><a href="动画之沙一月番.html">一月番</a></li>
                <li onmouseover="changeC(this)" onmouseout="changeC(this)"><a href="动画之沙四月番.html">四月番</a></li>
                <li onmouseover="changeC(this)" onmouseout="changeC(this)"><a href="动画之沙七月番.html">七月番</a></li>
                <li onmouseover="changeC(this)" onmouseout="changeC(this)"><a href="动画之沙十月番.html">十月番</a></li>
            </ul>
        </div><!-- nav end -->

这里是函数的介绍
上面的注释都是比较清楚的介绍了

function changeC(li){            //这个li实际上没有用,只是用于表示是li元素
    var a = document.getElementById("list_2").children;  //这里的a实际上就是li元素
    for(var i = 0; i < a.length; i++){
        a[i].onmouseover = function(){            //可以看到每一个li元素当有鼠标在上面的时候
            this.style.backgroundColor = "red";   //这个this其实就是li元素,当然这里是用a[i]
        }                                         //来表示了。
        a[i].onmouseout = function(){             //于是实际上要想知道this是表示什么,其实this
            this.style.backgroundColor = null;    //就是代表使用函数的那个对象,这个例子的
        }                                         //this就是a[i],实际上是li元素
    }
} 
打开App,阅读手记
6人推荐
发表评论
随时随地看视频慕课网APP