javascript中对this的理解

JavaScript中this的理解 JavaScript中this的理解 在 JavaScript 编程中,this 关键字非常重要,也比较难理解,经常让初学者比较迷惑,所有今天我们一起来聊一下this关键字。 一.this的概述 this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,随着函数使用场合的不同,this的值会发生变化,但是有一个总的原则,那就是this指的是调用函数的那个对象。 总结:谁调用了这个函数,this指向谁(对象) 二.this的指向 因为this存在于函数内部, 阅读详情

在JavaScript中,this不是固定不变的,它的指向取决于上下文环境,一般的,认为this指向使用它时所在的对象。主要有以下几类指向:

  • 在方法中,this 表示该方法所属的对象。
  • 如果单独使用,this 表示全局对象。
  • 在函数中,this 表示全局对象。
  • 在函数中,在严格模式下,this 是未定义的(undefined)。
  • 在事件中,this 表示接收事件的元素。
  • 类似 call() 和 apply() 方法可以将 this 引用到任何对象。

this代表的是 执行这个this代码的环境对象 ;this在脚本中代表的是window全局对象

eg.1

此处打印的便是karen

eg.2

eg.3

eg.4

 为什么要打印this?

this代表了一个对象 常常在项目中我们要给一个对象操作成员

fn()  ->window    调用者是window

obj.fn()->obj 

obj.xx.xx2()->obj.xx

(function(){})()->window

fn()()->window

fn()[1]()->fn()返回的数组

 在js程序中无论多么复杂的程序 this只需要看离(嵌套级别)最近的function的这个单词的调用者

面试题    

eg

 

华为OD机试 - 魔法收积木 - 二进制(Java 新系统 200分) 华为OD机试 新系统 题库疯狂收录中,刷题。 阅读详情

相关推荐

Android BluetoothSocket

BluetoothSocket是Android中用于在蓝牙设备之间进行数据传输的一种Socket。它提供了一种类似于TCP/IP协议的数据传输方式,可以在两个设备之间建立一个虚拟的通信管道,使得两个设备之间可以进行数据的传输和接收。BluetoothSocket可以用于客户端和服务端之间的通信,通过BluetoothSocket可以实现数据的双向传输。

liuning1985622的博客 1477

如何理解js中的this

this的值取决于它所在的函数如何被调用。下面是this可以获得新值的6种不同方式:下面我们一起来看看this是如何在每个环境中被改变的。当this在任何函数外面被调用时,也就是说在全局环境中被调用,在浏览器中。它默认指向window对象。 一般在全局环境中,我们很少用this关键字 ,所以我们对它也没有那么在意,继续看下一个环境。当我们使用new关键字创建一个对象的新的实例时,this关键字指向这个实例。 通过上面的代码,我们会发现,greg是Human的一个实例,现在无论何时调用greg,thi

weixin_69830171的博客 2055

用FPGA在HDMI上显示自定义字符:从COE文件到OSD叠加的保姆级教程

本文详细介绍了如何在FPGA上实现HDMI视频流的OSD字符叠加技术,从COE文件生成到动态区域控制的完整流程。通过Verilog代码示例和实战技巧,帮助开发者掌握字符ROM设计、像素坐标追踪和动态混合等核心技术,适用于视频监控、系统状态显示等应用场景。

weixin_28720767的博客 231

谈谈对this对象的理解?

箭头函数不绑定this,箭头函数没有自己的this关键字 如果在箭头函数中使用this,this关键字将指向箭头函数定义位置的this function fn() { console.log(this); } const obj = {name: 'zhangsan'}; fn.call(obj); // fn内部的this指向obj对象 //{ name: 'zhangsan' } 例子: var obj = { age: 20, say: () => {

weixin_43912756的博客 3191

WVP-GB28181-Pro配置避坑指南:从零到上线全流程详解(含ZLM自动同步技巧)

本文详细解析了WVP-GB28181-Pro视频平台的配置流程,特别针对国标视频平台部署中的常见陷阱,如stream-ip/sdp-ip配置错误、ZLM自动同步问题及端口冲突等,提供了实用的解决方案和优化建议,帮助开发者快速实现从零到上线的全流程部署。

weixin_30836759的博客 93

PostgreSQL使用 pg_rman物理备份搭建流复制备库(streaming replication standby)

摘要:使用pg_rman备份搭建PostgreSQL流复制备库 本文详细介绍了利用pg_rman工具快速搭建PostgreSQL流复制备库的完整流程。该方法结合物理备份的高效性和流复制的实时性,特别适合大型数据库环境。主要内容包括:主库上的pg_rman安装配置、全量备份操作;备份文件传输至备库;备库数据目录准备及恢复;流复制参数配置;以及最终的启动验证步骤。文章还提供了架构示意图和关键配置示例,并包含常见问题排查建议,如备库无法启动或复制卡顿情况的处理方法。整个流程强调通过.pgpass文件管理密码的安全

liumangtuzi888的博客 1169

一文看懂Javascript的this关键字

总的来说,this就是函数运行时所在的环境对象。1.1 简单函数调用函数的最通常用法,属全局性调用,因此this就代表全局对象。1.2 作为对象方法的调用函数还可以作为某个对象的方法调用,这时this就指这个上级对象。记住一条:当function被作为method调用时,this指向调用对象。另外,JavaScript并不是OO的,而是object based的一种语言。1.3 构造函数所谓构造函数,就是通过这个函数,可以生成一个新对象。这时,this就指这个新对象。运行结果为1。

2401_84092727的博客 952

企业微信开发007_域名主体校验未通过,需配置备案主体与当前企业主体相同或有关联关系的域名_企业内部自建应用开发_配置可信域名_回调URL_可信IP---企业微信开发009

因为我这个企业微信是,已经注册了服务商了,所以我又注册了一个不是服务商的测试企业,没有实名认证的,去试了试。而且,网络上找的教程,都是不够详细的,还是会碰到各种各样的问题,记录下来,为后来者提供便利。首先我用natapp.cn 申请了一个免费的域名,然后去,一个,企业微信上去配置,注意。我这个域名,的主体,可能是域名服务商,比如阿里域名 等等的 不是一般的企业域名。我这个企业微信,是开通了服务商的,企业微信,右上角有服务商管理后台的。到时候,直接用,他们自己企业注册的域名,已经备案的再去尝试,

添柴程序猿的专栏 1694

JS学习笔记三

js基础

liuqinhou的博客 585

数据分享|2000-2021年全国各城市风速数据(逐日、逐月、逐年)

而后,将每日的csv文件进行展点,再投影,采用反距离权重法对每日的数据进行插值。:美国国家海洋和大气管理局(NOAA)下设的国家环境信息中心(NCEI),网址为:https://www.ncei.noaa.gov/data/global-summary-of-the-day/archive/该数据是通过风速平均值插值得来,由于插值的方式与各种处理参数的不同,会导致该数据与其它风速数据不同,数据仅供个人学习使用哦。如果在论文中使用该数据,数据来源请写上面的原始数据来源,处理方法请写上面的处理方式!

J_Giser的博客 1777

3D打印机控制系统设计:基于MATLAB的3D打印机运动学建模、轨迹规划和控制

控制实现:在控制实现中,需要将轨迹规划的结果转化为实际的控制指令,控制3D打印机按照规划的轨迹进行运动。3D打印机的运动学建模:3D打印机的运动学建模是指将3D打印机的机械结构、传动系统和运动控制部件等抽象成数学模型,以便于进行控制系统的设计和分析。轨迹规划:轨迹规划是指根据3D模型的几何形状和打印机的运动学模型,计算出打印机需要执行的运动轨迹,以便于实现所需的打印效果。控制实现:控制实现是指将轨迹规划的结果转化为控制指令,控制3D打印机按照规划的轨迹进行运动。

走向CTO的路上... 2473

Javascript 阐述This对象的理解?

的值取决于函数调用的上下文,也就是函数是如何被调用的。的值并不是在编写时确定的,而是在运行时确定的,取决于函数的调用方式。在 JavaScript 中的一个独特和重要的特性。关键字是一个特殊的对象,它在函数被调用时自动定义。在 JavaScript 中,

csdn_Levy的博客 377

Windows 下运行 openclaw 出现“‘openclaw‘ 不是内部或外部命令,也不是可运行的程序或批处理文件“的解决方案

方案适用场景推荐指数检查并手动添加 PATH明确知道全局安装目录,只是没加进PATH⭐⭐⭐⭐⭐pnpm setup 自动配置使用 pnpm 安装,想要省心的自动化方式⭐⭐⭐⭐⭐npx 免安装临时运行快速验证核心程序是否正常,排除法排查⭐⭐⭐⭐清理残留后重装npm/pnpm 混用导致版本混乱⭐⭐⭐⭐改用 WSL2不熟悉 Windows 路径体系,长期使用⭐⭐⭐'openclaw' 不是内部或外部命令这类报错,本质上不是"程序坏了",而是。

一键难忘的博客 1万+

js中this的理解

js中this的理解

qq_45716607的博客 89

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java script this_彻底理解javascript中的this指针

this关键字对于javascript初学者,即便是老手可能都是一个比较容易搞晕的东西。本文试图理顺这个问题。this和自然语言的类比实际上js中的this和我们自然语言中的代词有类似性。比如英语中我们写"John is running fast because heis trying to catch the train"注意上面的代词"he",我们当然可以这样写:"John is runnin...

weixin_36054993的博客 651

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

理解js中this的指向

转载自彻底理解js中this的指向,不必硬背。

Wind_waving的博客 128

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

彻底理解js中this的指向

点击打开链接彻底理解js中this的指向

PanPa_WoNiu的博客 272

对JavaScript中 this 关键词的理解

当我开始学习Vue时,this关键词给我带来了恶梦。我花了很多时间去学习和实践,今天我将和大家分享我对 `this` 关键词的一些理解。

Create value with coding 4885

全面理解JS中的this

JavaScript开发中,我们经常会用到this,也经常会因为this头疼,为什么呢,因为有时候我们不知道this到底指的是什么?怎么用? 其实this是执行上下文对象的一个属性,执行上下文中有三个重要的属性,作用域链(scopeChain)、变量对象(VO)和this。 this是在进入执行上下文时确定的,也就是在函数执行时才确定,并且在运行期间不允许修改并且是永久不变的。 我们分各种执行上下文情况来详细解读下this: 一、在全局代码中的this 在全局代码中this 是不变的,this始终

txun123的博客 3038

JS中this的理解

我们在编写代码的过程中经常会遇到this的指向问题,下面对this的指向做一个总结 一、THIS: 1)全局上下文中的this是window; 2)块级上下文中(如:判断体“{}”,循环体“{}”)中没有自己的this,它的this是继承所在上下文中的this的; 3)在函数的私有上下文中,this的情况会多种多样,也是接下来我们重点研究的; 二、函数中的THIS: THIS不是执行上下文(EC才是执行上下文),THIS是执行主体 如何理解主体呢? 如: 张三拿着加了五个鸡蛋的煎饼果子去北京大饭店吃早

u012352278的博客 373

js this理解

http://www.jb51.net/article/16235.htm

feiyeguohai1的博客 311

【JS】JS中对于this的理解

一、对this的产生原因分析和了解 第一:this指的是函数运行时所在的环境(即调用的对象)。 第二:JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系(内存存储详细理解参考原文)。 总结如下: 对于普通对象的保存:实际对象属性的值就是值; 对于函数的保存:实际函数属性的值是函数的地址;(而函数本身,可理解为:它不属于任何一个对象,相当...

diangui9878的博客 121

图说js中的this——深入理解javascript中this指针

没搞错吧!js写了那么多年,this还是会搞错!没搞错,javascript就是回搞错!…………在写java的时候,this用错了,idea都会直接报错!比如……但是,js,……idea,爱莫能助了……在面向对象编程里有两个重要的概念:一个是类,一个是实例化的对象,类是一个抽象的概念,用个形象的比喻表述的话,类就像一个模具,而实例化对象就是通过这个模具制造出来的产品,实例化对象才是我们需要的实实在...

周陆军的博客,分享it技术。 2096

对JS中This的理解和总结

在Javascript里的this,是无法在定义时就决定指向谁(也可说是不受词法作用域的限制,或者静态作用域的限制),这个行为和动态作用域相似,这个东西无法在js编译器工作时就定下来,而得等到js引擎的执行阶段时才确定 一,调用位置 函数里this由函数调用位置决定的,可以看看下面的例子: var a = "I'm a global a" function foo () { console.lo...

weixin_44646986的博客 343

JS 对this的理解解说

首先要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题。  例子1:...

developerFBI的专栏 257

彻底理解js中this的指向,不必硬背。

https://www.cnblogs.com/pssp/p/5216085.html

wwf1225的博客 150
下一篇: 函数的形参与实参
Michael哥哥
博客等级 码龄6年 7粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值