美文网首页
javascript中的this讲解

javascript中的this讲解

作者: 饥人谷_enzo | 来源:发表于2017-05-19 13:20 被阅读0次

下面将this的一些基本使用和大家分享一下:

查看this指向的一句话法则:

永远指向其所在函数的所有者如果没有所有者时,指向window。

理解this的要点:关键在于将函数与函数名分开看待。同一个函数,在不同的执行方法下,会有不同的效果。

如何来进行理解呢,来看几个实例

1)全局函数中的this指向

functiontest(){

alert(this);//test这个函数没有所有者,因此此时this指向的是window

}

2)对象方法中的this指向

o.test=function(){

alert(this==o);//输出true,o.test表示的是test这个函数的所有者是对象o,因此this应当是指向o的

}

3)绑定函数时的this 1

如下代码,test1和test2中this并不相同

vartest2=o.test1;//test2这个函数并没有所有者,在此,test2虽然调用了test1这个函数,但是this仍然指向window,而不是指向test1的拥有者:对象o

test2();

o.test1=function(){

alert(this===o);

}

这便是上面所说的,要将函数与函数名分开看待

4)绑定函数时的this 2

此时如果我们对3)中的代码进行一些修改:

ffunctiontest(){

alert(this===o);

}

test();//this指向window

varo={};

o.test2=test;

o.test2();//此时test2的所有者为o,而test没有所有者,this在此时指向的是o

alert(o.test2);

5)鼠标单击事件等进行函数的绑定时,this的指向

document.onclick=function(){

alert(this===document);//输出为true,onclick事件的拥有者是document。因此,此处this指向document。我们可以将document.onclick理解为一个对象方法,如同例4中的o.test2一样。

}


参考链接:http://blog.163.com/hongshaoguoguo@126/blog/static/18046981201251935720333/

相关文章

网友评论

      本文标题:javascript中的this讲解

      本文链接:https://www.haomeiwen.com/subject/jddyxxtx.html