基于js中this和event 的区别(详解)

 更新时间:2017年10月24日 08:45:36   作者:柠夏  
下面小编就为大家带来一篇基于js中this和event 的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天在看javascript入门经典-事件一章中看到了 this 和 event 两种传参形式。因为作为一个初级的前端开发人员平时只用过 this传参,so很想弄清楚,this和event的区别是什么,什么情况下用什么比较合适。

onclick = changeImg(this)       vs     onclick = changeImg(event)

<img src='usa.gif' onclick="changeImg(event)" />
<script>
  var myImages = [
    'usa.gif','canada.gif','jamaica.gif','mexico.gif'
  ];
  function changeImg(e) {
    var el = e.target;
    var newImgNumber = Math.round(Math.round()*3);
    while(el.src.indexOf(myImages[newImgNumber]) != -1){
      el.src =myImages[newImgNumber];
    }
  }
</script>

1.this是Javascript语言的一个关键字。

2.this代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。

3.this和event.target的区别:

js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化(在事件触发时,只传递当前event对象的引用),它永远是直接接受事件的目标DOM元素;

另外,this和event.target都是dom对象,如果要使用jquey中的方法可以将他们转换为jquery对象:$(this)和$(event.target);

以上这篇基于js中this和event 的区别(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决layui中的form表单与button的点击事件冲突问题

    解决layui中的form表单与button的点击事件冲突问题

    今天小编就为大家分享一篇解决layui中的form表单与button的点击事件冲突问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • javascript iframe中打开文件,并检测iframe存在否

    javascript iframe中打开文件,并检测iframe存在否

    从iframe中打开文件,并检测iframe存在否如果说只是检测页面存在否,直接设置target用伪协议就可以解决了...
    2008-12-12
  • axios基本入门用法教程

    axios基本入门用法教程

    之前当vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法。文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • JavaScript异步编程:异步数据收集的具体方法

    JavaScript异步编程:异步数据收集的具体方法

    我们先尝试在不借助任何工具函数的情况下来解决这个问题。笔者能想到的最简单的方法是:因前一个readFile的回调运行下一个readFile,同时跟踪记录迄今已触发的回调次数,并最终显示输出。下面是笔者的实现结果。
    2013-08-08
  • 详解JavaScript中Proxy与Object.defineProperty的区别

    详解JavaScript中Proxy与Object.defineProperty的区别

    Proxy和Object.defineProperty都是JavaScript中用于实现对象属性拦截和代理的机制,但它们在功能和应用方面有一些区别,本文通过代码示例详细介绍了二者的区别,感兴趣的朋友可以参考下
    2023-06-06
  • JavaScript三大变量声明详析

    JavaScript三大变量声明详析

    这篇文章主要介绍了JavaScript三大变量声明详析,三大变量声明主要包括var、const和let,下面文章我们就围绕三者展开详细内容介绍,需要的朋友可以参考一下
    2022-06-06
  • jQuery实现手风琴特效

    jQuery实现手风琴特效

    这篇文章主要为大家详细介绍了前端js实现手风琴效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 微信小程序实现吸顶效果

    微信小程序实现吸顶效果

    这篇文章主要为大家详细介绍了微信小程序实现吸顶效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • Bootstrap入门书籍之(零)Bootstrap简介

    Bootstrap入门书籍之(零)Bootstrap简介

    Bootstrap是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。本文给大家介绍Bootstrap入门书籍之(零)Bootstrap简介,需要的朋友参考下
    2016-02-02
  • ES6 Map结构的应用实例分析

    ES6 Map结构的应用实例分析

    这篇文章主要介绍了ES6 Map结构的应用,结合实例形式分析了ES6中map键值对hash结构相关定义、获取、输出、遍历等相关操作技巧,需要的朋友可以参考下
    2019-06-06

最新评论