前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >This关键字的一些更新的理解

This关键字的一些更新的理解

作者头像
大江小浪
发布2018-07-24 16:30:30
2220
发布2018-07-24 16:30:30
举报
文章被收录于专栏:小狼的世界

this是Javascript中一个非常重要的关键字,正确的使用this能够使我们的程序效率得到提升。之前,对于this的认识还存在一些误区,今天看了一篇文章之后又有了一些深入的了解。

this的所有者。

 一般情况下,this是指向正在执行的函数本身,或者是,指向函数所属的对象。如

代码语言:javascript
复制
function dosomething(){
   this.style.color = 'red';
}

 函数执行时,this指向的就是window对象。而:

代码语言:javascript
复制
var dosomething = function(){
   this.style.color = 'red';
}

this是指向dosomething这个对象的;

很不幸,window对象没有style属性,所以这个dosomething这个函数直接执行就会导致错误,我们如果想正确应用this,我们就需要将函数复制到对象的属性上去。

例如:element.onclick = dosomething;

总结一下,通过复制正确使用this的例子有:

代码语言:javascript
复制
element.onclick = dosomething;
element.addEventListener('click',dosomething,false);
 
element.onclick = function(){ this.style.color = 'red'; };
<element onclick='javascript:this.style.color = red;' />

通过直接引用使用this的例子:

代码语言:javascript
复制
element.onclick = function(){ dosomething(); };
 
element.attachEvent('onclick',dosomething);
<element onclick = "dosomething();" />

这样的引用,this都会被指向window对象而导致,执行失败,所以在平时的应用中是要引起注意的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档