javascript中的this

JS作用域+this指向 【JavaScript】 js作用域 this指向及关于this指向的面试题 箭头函数和普通函数的this指向区别 阅读详情

this值在JavaScript中也比较关键,不同的场景代表不同的值。理解是关键


全局上下文

this对象直接指向全局对象,在浏览器中也就是window对象。这个比较好理解

函数上下文

在函数中,this对象的情况就比较多了:

1、直接调用函数

this指向window对象,但是在严格模式下,返回undefined

2、当函数作为一个对象的方法来调用的时候

可以看到这个时候的this表示obj对象,代表方法所属的对象。

3、函数作为构造器来直接创建对象,在这种情况下,this代表新建的对象。

构造函数创建的就是一个对象,里面包含name,age,getInfo,那么我们调用方法getInfo就应该知道发生什么了吧。this肯定就向上面的一样,指向所属对象,也就是will

出现apply和call的情况

简单来说这两个函数是干啥使的,很简单,比如你创建了一个对象,你像做某件事情,也就是使用的方法,但是呢,已经有一个对象有这个方法了,你不想再创建,也不想搞什么继承不继承,因为只是想使用一下。怎么办呢。apply和call就出现了,那么两者有区别吗?当然有啦,至少两个名字就不一样,(废话...),其实功能都一样,只是说呢,传递的参数不一样而已。第一个参数都是执行的对象,第二个参数对于apply就是要传递的参数的数组,对于call就是传递多少个就单独列举出来。so easy!

由于第一个this表示window对象,而window对象下面没有count值,为undefined,所以结果为NaN。

接上面的图

这也是一种方法。

上面的做法,并不是说obj对象中就有add方法了,只是借用而已。

this暂存

有时候,未来使用外层的this对象,通常需要对this暂存,通常变量为self,_this,that。

总结:

其实对于this的认识,只要记住一个点,那就是被谁调用,比如函数在全局环境中,直接执行,就是全局环境,被对象调用,那就是指向对象。箭头函数就不是这样了哈记住

资源:

田小计划 JavaScript中的this - 田小计划 - 博客园

RAG——RAG 索引(文档解析技术) 本文介绍了RAG系统中文档解析的关键技术,重点分析了如何通过LangChain的Document Loaders处理多种格式文档。文章指出高质量文档解析对RAG系统效果的决定性作用,并详细讲解了PDF、TXT、Word等常见格式的解析方法。作者提供了代码示例和Gitee开源项目链接,特别强调了PDF解析的深入方案,同时介绍了相关依赖库的安装配置。文章还展示了如何定义通用文档加载方法,为开发者提供了实用的技术参考。 阅读详情

相关推荐

VS(QT)调用Matlab函数的方法

调试–>窗口–>异常设置–>Win32 Exceptions全部不要勾选。选择Microsoft Visual C++ 2017。将生成的.h和.lib分别放置在对应的文件夹。输入mex -setup C++输入deploytool选择。选择Realse x64。

woshigaowei5146的博客 591

【JS】Javascript中的this到底是什么

JavaScript中的this是一个对于新手来说特别吓人并且不友好的概念。对于一个前端萌新来说,这个概念既模糊,又看不到它存在的意义。本文将解析JavaScript中的this,并且逐一分析他在每个常见场景中的意义和指向。

a1611107035的博客 3273

Gröbner基方法入门第I部分:项序和约化

Gröbner基方法入门第I部分:项序和约化 理想的准素分解与矩阵分解是计算代数的核心问题,它们在计算机代数、计算代数几何、代数编码和密码学、多维系统理论等学科都有非常重要的理论意义与应用价值.Gröbner基理论是研究理想的准素分解与矩阵素分解的重要工具之一.更简单地概括:Gröbner基方法是从任意一个多项式理想的一组给定生成元,计算另一组性质良好的生成元,并称为该理想的Gröbner基.它能用来判定任意多项式是否属于该理想. Gröbner基的代数算法是Buchberger在1960年代开发的,并

MinCong Luo的博客 4261

一文看懂javascript(js)的this和Vue中的this

this是Javascript语言中的一个关键字,它代表函数运行时自动生成的一个内部对象,指当前对象,因此this只能在函数内部使用。随着函数执行环境的改变,this所指代的对象也会发生改变,但this始终指向的是调用函数的对象。简单来说就是谁调用了这个函数,this就指向谁(对象)。方法区别call既可以调用函数又可以传参数,参数只需用逗号隔开apply既可以调用函数又可以传参数,参数需要用一个数组进行包裹bind。

2301_76179969的博客 1733

temu登录接口逆向分析(含Py纯算)

【代码】temu登录接口逆向分析(含Py纯算)

数据精灵喵 1944

大语言模型在构建UNSPSC 分类数据中的应用

UNSPSC 是联合国标准产品和服务代码。本文研究如何利用大语言模型生成分类系统的分析

姚家湾博客 1859

【JavaScript】聊聊js中关于this的指向

合集 - JavaScript(5)1.【JavaScript】聊聊js中关于this的指向07-032.【workerman】uniapp+thinkPHP5使用GatewayWorker实现实时通讯07-053.【JavaScript】聊一聊js中的浅拷贝与深拷贝与手写实现07-134.【JavaScript】前端算法题(重建二叉树、反向输出链表每个节点)07-305.【JavaScript】...

weixin_36338813的博客 502

VS2019编译配置Easy3D

VS2019编译配置Easy3D

dayuhaitang1的博客 2596

【JS】JavaScript中的this详解

JavaScript中的this关键字详解 JavaScript中的this关键字是一个动态绑定的上下文对象,其值取决于函数调用方式。主要有四种绑定规则:1)默认绑定(全局对象或undefined);2)隐式绑定(调用对象);3)显式绑定(call/apply/bind);4)new绑定(构造函数实例)。箭头函数不绑定自己的this,而是继承外层作用域。使用优先级为:new绑定 > 显式绑定 > 隐式绑定 > 默认绑定。实际开发中需注意事件处理、回调函数中的this绑定丢失问题,可通过bi

qq_27579471的博客 478

Unity GameObject 核心机制深度解析:从底层结构到工程实践

从底层机制讲透 Unity GameObject:托管壳加原生芯的双层对象模型如何制造假 null 陷阱、Transform 层级与组件通信的原理、生命周期回调的确切顺序。文章同时给出 Instantiate 成本分析与对象池等高频场景的工程实践。

游戏人生 40

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分析。Impedance是时域阻抗曲线,也是最主要的观测指标,注意:impedance曲线的时间刻度不是延时,延时=时间刻度/2,因为TDR测量的是用一来一回的原理去测量的。Use Lossy peeling 默认不勾选,勾选的话代表同时仿真无损和有损方案,不勾选代表仅仿真有损方案。

weixin_54787054的博客 855

【JS】JavaScript 中 this 关键字

this 是一个关键字,能够在函数执行过程中访问运行环境,它的值根据函数的调用方式和上下文而变化,所以 this 是动态的,动态指向当前函数的运行环境。this 是一个指针型变量,在 JavaScript 中没有指针的概念,但是this真实地指向当前调用对象,能够在函数内部访问和操作当前对象的属性和方法。

Eliaukoyx 1297

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2621

javascript中的this,JS中this的几种基本指向

摘要:javascript中的this较为灵活,可以概括为一下四种类型1.this指向的是当前调用该函数的对象举例:function test(){ console.log(this)} //直接调用 test()// 输出对象为window,在nodejs中输出为global2 this指向的是对象属性。举例来说:var test={x:1, y:2 z:function(){ conso

liwusen的博客 1686

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JS中的this详解

JS中的this 背景 JS中的this指向问题,一直以来自己并不是十分的清楚,平时在开发中使用时到是也能正常应用,但是对其使用和判断并不能信手拈来,所以自己搜索了一些资料,总结了一下,也希望对大家有所帮助。 目录 什么是this? this的指向 为什么要使用this? 什么的this? this,从字面上含义是“这个”, 所以在JS中this表示的就是当前对象,但这个“当前对象”到底指的是哪个对象,是由运行时所在的上下文环境决定的。 简言之:当前是谁调用了我,我就指向谁; this:表示当前对象。

weixin_42321292的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【JS】JavaScript中的this关键字

JavaScriptthis关键词指的是它所属的对象。thisthisthisthisthis像call()和apply()这样的方法可以将 this 引用到任何对象。

故余虽愚,卒获有所闻 1025

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

js this指向哪里 JavaScript this指向

非箭头函数中的this指向一般都是调用者 在非箭头函数中 谁调用了函数,那么函数的this指向就是谁 比如 let obj1 = { name:'obj1', say:function(){ console.log('非箭头函数',this.name) } } obj1.say() 调用之后this指向就...

961

在 JavaScript 和 Node.js 中,this关键字的用法

在 JavaScript 和 Node.js 中,this是一个关键字,它的值取决于函数被调用的方式,即this的上下文环境。

xuukai的博客 596

JavaScript中的this详解(彻底弄懂js中的this用法)!

要想学好js,那么其中那些特别令人混淆迷惑的知识点,就一定要弄清楚。this关键字就是其中让初学者比较迷惑的知识点之一,不过灵活运用this可以提升代码的性能和复用性,那么今天我就和大家一起来了解this的具体情况, 首先this作为关键字,它的作用就是引用,并且它通常只写在函数内部就是函数体内,在js中this的引用对象随着函数的使用环境变化而变化,好在具体的使用环境并不多,基本就四种。分别是...

weixin_33690367的博客 1385

JS 对this的深度解析,JavaScript中this的深入浅出

this关键字是JavaScript中最复杂的机制之一,是一个特别的关键字,被自动定义在所有函数的作用域中,但是相信很多JavaScript开发者并不是非常清楚它究竟指向的是什么。听说你很懂this,是真的吗? 请先回答第一个问题:如何准确判断this指向的是什么?【面试的高频问题】 ————————————————————————————————————————————— ...

足各路 550

JS JavaScript中的this

this是JavaScript语言中的一个关键字 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 function test() {  this.x = 1; } 上面代码中,函数test运行时,内部会自动有一个this对象可以使用。 那么,this的值是什么呢? 函数在不同使用场合,this有不同的值。总之,this就是函数运行时所在的环境对象。 ...

weixin_30613433的博客 152

JavaScript中的this

本文结合前端面试的高频考点,从this的核心本质、绑定规则(隐式 / 显式 /new/ 箭头函数)到优先级排序,全面拆解 JavaScript 中this的指向问题。this是 JavaScript 中的关键字,它不是变量也不是属性,不能直接赋值(如this=xxx会报错)。在全局作用域 / 模块顶层:它的指向由执行环境决定(浏览器环境指向 window,Node.js 模块指向 module.exports, ES 模块(ESM)环境指向 undefined),和函数调用无关。见2.1详解。

weixin_39952495的博客 765

Javascript this指向 js this指向

问题引入: 下面console的输出结果是什么 var name = “one”; var User = function ( ) { this.name = “two”; } var obj = User( ); console.log(name); 答案是two 解析:this指向window修改此na...

lxh11639的博客 202

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

OpenClaw Talk Mode 全解析:连续语音对话循环、ElevenLabs 语音指令与 macOS/iOS/Android 三端实现

Talk Mode 是 OpenClaw(中文社区版 Clawdbot)内置的**连续语音对话模式**:开启后无需按键即可持续"听你说 → 想 → 开口回答",由 ElevenLabs 流式 TTS 完成低延迟语音合成,并支持通过回复中的 JSON 指令动态切换音色与语速。本文以仓库文档 [docs/nodes/talk.md](https://link.gitcode.com/i/281126a

gitblog_01001的博客 1118

【JS】彻底搞懂JavaScript中的this指向

彻底搞懂JavaScript中的this指向1. this指向什么2. this绑定规则2.1. 默认绑定案例一:普通函数调用2.2. 隐式绑定2.3. 显示绑定2.4. new绑定2.5. 规则优先级3. this规则之外4. this面试题 1. this指向什么 在全局作用域下,我们可以认为this就是指向的window console.log(this); // window var name = "why"; console.log(this.name); // why console.log(

余浩的博客 1208
上一篇: javascript——执行环境和作用域
下一篇: javascript原型——__proto_和prototype
雨中畅游
博客等级 码龄10年 100粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值