浅谈javascript中this在事件中的应用


Posted in Javascript onFebruary 15, 2015

this关键字在javascript中是非常强大的,但是如果你不清楚它是怎么工作的就很难使用它.

function dosomething(){ this.style.color="#fff"; }

上面这段代码中的this指向什么呢,运行dosomething()会输出什么呢?

在javascript中,this总是指向当前执行的这个函数,或者把函数作为方法调用的这个对象.当我们在页面上定义dosomething()这个方法后,this的所有者就是当前的页面,或者说是全局对象.

所以我们执行dosomething()这个函数,会引发错误.因为函数的this指向的是全局对象window,而window对象没有style属性.

复制:

element.onclick=dosomething;

dosomething()现在被整个复制到onclick属性上作为一个方法.所以如果这个事件执行的话,this就指向这个HTML元素,相应HTML元素的color就会改变.dosomething每次复制到事件上,this就会指向当前执行这个方法的html元素.

引用:

<element onclick="dosomething()">

此时你没有复制这个方法,而是引用了这个方法,onclick属性并不包含实际的方法,仅仅只是一个方法的调用.当我们执行这个方法时,this再次指向全局window对象并引发错误.

以上就是本文的全部内容了,有需要的小伙伴好好来研究下吧。

Javascript 相关文章推荐
javascript loadScript异步加载脚本示例讲解
Nov 14 Javascript
将中国标准时间转换成标准格式的代码
Mar 20 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
Jun 08 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
基于JavaScript实现评论框展开和隐藏功能
Aug 25 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
利用原生JavaScript实现造日历轮子实例代码
May 08 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
使用layui实现树形结构的方法
Sep 20 Javascript
Javascript查看大图功能代码实现
May 07 Javascript
javascript使用正则表达式实现去掉空格之后的字符
Feb 15 #Javascript
分享一个自己写的简单的javascript分页组件
Feb 15 #Javascript
Linux下编译安装php libevent扩展实例
Feb 14 #Javascript
jQuery中extend函数详解
Feb 13 #Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
Feb 13 #Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 #Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
Feb 13 #Javascript
You might like
用PHP生成自己的LOG文件
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
杏林同学录(七)
2006/10/09 PHP
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
解析php中反射的应用
2013/06/18 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Django发送邮件功能实例详解
2019/09/02 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
临床护士自荐信
2014/01/31 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
公司年会主持词
2014/03/22 职场文书
爱我中华教学反思
2014/04/28 职场文书
春节慰问信范文
2015/02/15 职场文书
护士自荐信怎么写
2015/03/06 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书