this的使用方法,补充讲解javascript中的this关键字讲解



this的使用方法,补充讲解javascript中的this关键字讲解  。在之前的文章当中,已经讲解了this的常用的五种方法,也讲解了javascript中this的指向原则。

指向原则:永远指向其所在函数的所有者如果没有所有者时,指向window。
*理解this的要点:关键在于将函数与函数名分开看待。同一个函数,在不同的执行方法下,会有不同的效果。

今天主要要补充讲解的知识是,运用addEventListener和attachEvent方法进行事件绑定时,函数当中this的基本指向。
<body>
<div id=”div0″ class=”">
单击此处,弹出内容
</div>
<script type=”text/javascript”>
div0.addEventListener(‘click’,a,false)
function a(){
alert(this===div0);
}
</script>
</body>

对于非IE浏览器,可以使用DOM2的事件绑定方式完成事件的绑定。这时候a这个函数的所有者就是addEventListener前面,引用它的对象,即div0
<body>
<div id=”div0″ class=”">
单击此处,弹出内容
</div>
<script type=”text/javascript”>
div0.attachEvent(‘onclick’,a)
function a(){
alert(this===window);
}
</script>
</body>

对于IE浏览器,并不支持addEventListener,我们使用attachEvent进行事件的绑定。在IE当中,这么绑定的情况下,默认函数的所有者都是window,因此,这里的this指向的是window