JS中的THIS和WINDOW.EVENT.SRCELEMENT详解

JS中的this关键字

什么是this?

在JavaScript中,this是一个特殊的关键字,它在函数内部起着重要的作用,表明当前代码执行的上下文。当代码执行时,this的值会根据代码的上下文而动态的改变。

this指向的值

this关键字指向的是当前代码的“拥有者”或“执行者”,它的值会因为当前代码所在的位置而变化。下面是几个示例:

this指向window对象

当在全局作用域内使用this关键字时,它会指向window对象。

console.log(this === window); // true

this指向函数所属的对象

当一个函数是某个对象的方法时,this关键字会指向这个对象

let obj = {
    name: 'tom',
    sayName: function() {
        console.log(this.name);
    }
};
obj.sayName(); // 输出 tom

this指向函数本身

当使用函数的bind、apply或call方法时,this关键字会指向函数本身

function add(a, b) {
    console.log(this === add); // true
    return a + b;
}
let result = add.call(add, 1, 2); // 输出3

this指向构造函数的实例

使用new关键字调用构造函数时,this会指向构造函数的实例

function Person(name) {
    this.name = name;
    this.sayName = function() {
        console.log(this.name);
    }
}
let person = new Person('tom');
person.sayName(); // 输出tom

window.event.srcelement详解

what is window.event.srcelement?

在JavaScript中,window是全局对象,在浏览器中,window对象代表着浏览器的一个窗口或一个框架。而当我们在窗口中点击一个链接或鼠标单击一些按钮时,一个事件会被触发并被传递到window对象。

在事件处理函数中,可以使用window.event来获得当前事件对象。事件对象提供了一些用于操作事件的属性和方法,在此我们介绍其中的一个常用属性window.event.srcelement。

如何获取window.event.srcelement的值

通过window.event对象我们可以获得当前事件发生的具体位置,可以是一个HTML元素,也可以是页面中的某个区域。window.event.srcelement指的就是当前事件所在的HTML元素。

下面是一个示例,一个html页面中有一个button按钮,当按钮被单击时,会触发click事件,我们可以通过加入事件监听器的方式来获取事件对象,并使用window.event.srcelement来获取HTML元素。

<html>
<head>
    <title>测试window.event.srcelement属性</title>
    <meta charset="utf-8">
    <script type="text/javascript">
        function showMessage() {
            let el = window.event.srcElement;
            alert("当前点击的元素标签名为:" + el.tagName);
        }
        let btn = document.getElementById("myBtn");
        btn.onclick = showMessage;
    </script>
</head>
<body>
    <button id="myBtn">点击我</button>
</body>
</html>

当我们运行上面的代码,并单击button按钮时,弹出一个对话框,提示当前点击的元素标签名为 button。

总结

在JavaScript中,this和window.event.srcelement是两个常用的关键字/属性。this用于获取当前代码的执行者,window.event.srcelement用于获取当前事件所在的HTML元素。通过熟悉和灵活应用这两个关键字/属性,可以方便地编写出高效、优美的JavaScript代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中的THIS和WINDOW.EVENT.SRCELEMENT详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • layui.js实现的表单验证功能示例

    下面是 “layui.js实现的表单验证功能示例” 的完整攻略。 一、什么是layui.js layui.js 是一款简易的前端 UI 解决方案,是由著名的前端开源组织“贤心之家”维护开发的。layui.js 主要包括丰富的UI组件和一套简单的前端模板。 在 layui.js 中,表单验证是其中之一的功能,该功能具有高度的可定制性和易用性。 二、表单验证的基…

    JavaScript 2023年6月10日
    00
  • js中toString方法3个作用

    我来为您讲解 “js中toString方法3个作用” 的完整攻略。 首先,JavaScript中的toString()方法可以将对象转换为字符串表示形式。其中,toString()方法存在于所有的JavaScript对象中,但其实现方式因对象而异。以下是toString()方法的三个作用: 1. 转换为字符串 对于基本数据类型,该方法返回其本身的字符串形式。…

    JavaScript 2023年6月10日
    00
  • javascript实现倒计时小案例

    下面是“JavaScript实现倒计时小案例”的完整攻略。 1. 准备工作 在编写倒计时小案例之前,需要掌握 JavaScript 基础语法,包括函数、变量、条件语句、循环语句等。同时,还需要了解日期对象 Date。以及能够基本运用 DOM 操作。 为了更好地构建简单的页面结构,可以使用 html 和 css。 2. 分析需求 在实现倒计时小案例之前,了解并…

    JavaScript 2023年5月27日
    00
  • JavaScript动态插入script的基本思路及实现函数

    JavaScript动态插入script的基本思路是通过创建一个script标签,然后将其添加到文档中。具体的实现可以使用以下的函数: function insertScript(url, callback) { var script = document.createElement(‘script’); script.type = ‘text/javasc…

    JavaScript 2023年5月27日
    00
  • javascript中数组的多种定义方法和常用函数简介

    下面是 “javascript中数组的多种定义方法和常用函数简介” 的完整攻略: 定义数组的几种方法 1. 使用数组字面量 const arr = ["apple", "banana", "orange"]; 使用方括号“[]”来定义数组,其中每个元素用逗号隔开。 2. 使用Array构造函数 co…

    JavaScript 2023年5月27日
    00
  • 解读Java和JavaScript区别与联系

    解读Java和JavaScript区别与联系 Java(简称Java语言)是由Sun Microsystems公司于1995年5月推出的高级编程语言,被广泛用于Web开发、移动应用开发、桌面应用开发、游戏开发等多个方向。 JavaScript(简称JS)是一种脚本语言,最初用于Web前端交互式设计,后来广泛应用于客户端/服务器端应用程序、游戏开发等领域。 区…

    JavaScript 2023年5月18日
    00
  • JavaScript高级程序设计(第3版)学习笔记6 初识js对象

    JavaScript高级程序设计(第3版)学习笔记6 初识js对象 简介 本篇笔记主要介绍了JavaScript中对象的基本概念、属性和方法的使用,以及对象的创建与初始化方法等。 JavaScript对象 JavaScript是一种基于对象的语言,并且几乎所有的事物都被视为对象。对象是一组相关数据和方法的集合。 JavaScript对象分为两种类型:内建对象…

    JavaScript 2023年5月27日
    00
  • JS动态显示倒计时效果

    JS动态显示倒计时效果是网页开发中经常使用的效果之一,具体可以分为以下几个步骤: 步骤一:HTML布局与样式 首先,我们需要在HTML中布置好倒计时的结构,通常是一个包含了时、分、秒的块级元素,例如: <div id="countdown"> <span id="hour"></span&…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部