【JavaScript】this理解总结

news2024/11/23 1:55:34

概念

this是函数运行时所在的对象。

使用场合

1.全局环境

全局环境使用this,this指向顶层对象。

2.构造函数

构造函数体里面的this,this指向是构造出来的实例对象。

3.对象的方法

● 如果对象的方法里面包含this,this的指向就是方法运行时所在的对象;
● 该对象某个方法赋值给另一个地方,而不是一整个对象赋值过去,则会改变this的指向;
● 对象的方法里再嵌套的函数里使用的this不一定指向该对象。

绑定this的方法

1.通过call

函数再调用call,call的第一个参数是this指向的对象,后面的参数则是函数调用时所需的参数
注意:如果第一个参数为空、null和undefined,那么默认传进来的是全局对象

2.通过apply

● 函数再调用apply,第一个参数跟call一样,传入一个新的对象;
● 区别是后面的参数需要合并起来放在一个数组中;
● 所以对于apply来说就是2个入参,一个是this需要指向的新的对象,另外一个所有参数组成的数组。

3.通过bind

bind()方法用于将函数体内的this绑定到某个对象,然后返回一个新函数。
第一个参数是this需要指向的对象,后面的参数是函数调用时需要的参数,可以初始化后面的参数。

思维导图

在这里插入图片描述

参考:JavaScript教程 | this关键字 | 有很详细的示例分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/457393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASPICE详细介绍-4.车载项目为什么要符合ASPICE标准?

目录 车载项目为什么要符合ASPICE标准?ASPICE与功能安全的关系、区别?各大车厂对软件体系的要求 车载项目为什么要符合ASPICE标准? ASPICE(Automotive Software Process Improvement and Capability Determination)最…

sacrebleu找不到报错(无法直接下载)

网络问题无法下载,下载下来py文件,放到同级目录下面 https://raw.githubusercontent.com/huggingface/datasets/2.11.0/metrics/sacrebleu/sacrebleu.py然后注释掉版本报错

Devops和Gitops区别

一. 什么是devops DevOps 是一种开发(Dev)和运维(Ops)之间协作和沟通的文化、流程和工具的实践方法。它强调迭代、快速交付和持续集成/持续交付,旨在加速软件交付的速度、质量和稳定性。 DevOps 的核心目标是通过自动…

中国视频云市场报告:腾讯云连续五年解决方案市场份额第一

4月24日,全球领先的IT市场研究和咨询公司IDC发布《中国视频云市场跟踪(2022下半年)》报告,腾讯云音视频的解决方案市场份额已连续五年排名第一,斩获自2018年IDC对外发布数据以来的“五年连冠”。其中,腾讯云…

C++模板使用

感谢你的阅读!!! 目录 感谢你的阅读!!! 举个例子: template 有什么意义为什么要用模板 与typedef的区别 使用方法 模板:隐式实例化与显示实例化 和非模板函数以及多个模板类…

SAP ABAP MARA-MSBOOKPARTNO 制造商登记部分编号

BAPI_MATERIAL_SAVEDATA CLIENTDATA结构无此字段。 DATA:LS_TE_MARA TYPE BAPI_TE_MARA. DATA:LS_TE_MARAX TYPE BAPI_TE_MARAX. DATA:LT_BAPIPAREX TYPE TABLE OF BAPIPAREX. DATA:LS_BAPIPAREX TYPE BAPIPAREX. …

Spring Bean作用域与生命周期

目录 Bean的作用域: Bean有六大行为模式 1、singleton:单例模式(默认) 2、prototype: 原型模式(多例模式) 3、request: 请求作用域(Spring MVC) 4、session: 会话作用域(Spring MVC) 5、application: 全局作用域(Spring MVC) 6、websocket: HTTP WebSocket …

M1 Mac安装Zookeeper

下载Zookeeper 由于通过homebrew下载的zookeeper没有conf文件夹,因此我们在官网下载 zookeeper-3.7.1 然后下载上面这个 将解压后的文件转移到 /usr/local 更改配置文件 1、配置文件位置位于解压文件夹下conf文件夹内部,默认名字为zoo_sample.cfg&…

Unity设计模式—命令队列

Unity设计模式—命令队列 概要 本篇将介绍命令队列并用命令队列模式实现一个Unity里的WindowManager。 命令队列是一个按照FIFO顺序存储一系列通知或请求的队列。发出通知时系统会将请求置入队列并立即返回,请求处理器随后从命令队列中获取并处理这些请求。请求可由…

集合专题·拔高·壹

文章目录 1 Collection单列集合、Map双列集合1.1 Collection单列集合1.1.1 Collection单列集合及其实现类1.1.1.1 list集合与Array数组1.1.1.1.1 ArrayList1.1.1.1.2 LinekdList1.1.1.1.2 Vector1.1.1.1.2.1 ArrayList、Vector (线程安全)的区别是什么1.…

【数据结构与算法】前缀和+哈希表算法

文章目录 一、引入二、前缀和与哈希表的结合三、例题3.1 和为 K 的子数组3.2 统计「优美子数组」3.3 路径总和III 四、总结 一、引入 关于前缀和和哈希这两个概念大家都不陌生,在之前的文章中也有过介绍:前缀和与差分算法详解 而哈希表最经典的一题莫过…

Kerberos设计和落地长常识

Kerberos 处理三类安全对象 票证 kerberos票证授予服务给每个客户发一张标记,该标记发送给一个特殊的服务器,证实kerberos最近已经认证了发送者,票证包括过期时间和新生成的会话密钥供客户和服务器使用。 认证 由客户构造的一个标记&#xff…

LVS负载均衡之NAT模式

实验准备四台虚拟机 192.168.255.128 做负载均衡器(两张网卡,且都需要NAT模式) 192.168.255.130 Nginx节点服务器1 192.168.255.131 Nginx节点服务器2 192.168.255.132 nfs共享服务器 现将四台虚拟机的防火墙关闭 一、nfs服务器配置 1…

使用Visual Studio 创建Windows服务,并安装部署

创建服务的工程 Program.cs是入口类,Service1.cs是写服务功能的组件,类似于winform项目中的Form1.cs。 打开Service1.cs,(右键单击Service1.cs,选择查看源码) OnStart:服务启动时,执…

产品说明书应该如何制作?

在当今互联网时代,产品说明书无疑是一种展示产品特性、引导用户使用和解决用户问题的重要方式。一份精心制作的产品说明书,能够让用户更快地了解和掌握产品的使用方法,让用户充分享受产品带来的便利。不过要做出一份高质量的产品说明书&#…

算法:在指定范围内生成随机不重复的位置

问题: 在游戏中,我们经常会遇到以下问题:在指定的范围内生成随机不重复的位置。 比如某次“神官赐福”活动中,需要在城门口生成n个不重复的宝箱。 针对这种问题,我们可以先将范围按照宝箱(基本单元格&#…

塔望食研院丨百年益生菌,千亿市场正蓝海!

2022年12月塔望咨询开设塔望食品大健康消费研究院(简称塔望食研院)栏目,塔望食研院以“为食品行业品牌高质量发展赋能”为理念,将不定期发布食品大健康行业研究、消费研究报告。塔望食研院致力于结合外部数据、消费调研数据、企业…

目标追踪篇---yolov8_tracking复现

文章目录 目标追踪篇---yolov8_tracking复现1、下载源代码2、下载权重3、运行代码3.1、运行以下命令:3.2、结果如下3.3、视频结果 目标追踪篇—yolov8_tracking复现 本人的另一篇博客,本博客主要是源代码更新产生的新博客,比较过后两者还是有…

计算多列迭代次数的一种平均列近似方法

比较多列训练集的迭代次数,把多列训练集用单列近似,再通过计算单列的斥力比较迭代次数的大小顺序。 ( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入有3个节点,AB各由5张二值化的图片组成,让A中有5个1,B中全是0&a…

魔兽服务端 MANGOS 数据库结构表中文解释

魔兽服务端 MANGOS 数据库结构表中文解释 MANGOS 数据库结构表 achievement_reward 巫妖王的奖励成就 areatrigger_involvedrelation 传送(区域触发)_包含的任务关系 areatrigger_scripts 区域触发脚本 areatrigger_tavern 进传送门…