函数内部this的指向

JavaScript的回调函数内部this的指向问题以及四种绑定this指向的方法 常见回调函数内部的this指向问题JavaScript的以及四种绑定this指向的方法 阅读详情

1、函数也是对象

函数的创建==>底层都是new关键字创建函数

  • 函数声明:
function sum(a,b){
	console.log(a+b);
}
  • 函数表达式:
1 var sum = function sum(a,b) {
2     console.log(a + b);
3 }
  • new关键字创建函数
1 // 语法:var 变量名 = new Function ('形参1','形参2',...,'函数体中的代码')
2 var sum = new Function('a','b','console.log(a + b)');
3 sum(10,20);

2、函数内部this的指向

this的指向关键是看函数的调用方法

2.1 普通函数中this的指向

  • this指向window
  • 代码:
1 // 【在普通函数中this指向window】
 2 // function fn() {
 3 //   console.log(this);
 4 // }
 5 // fn();
 6 ​
 7 // var fn = function() {
 8 //   console.log(this);
 9 // };
10 // fn();
11 ​
12 // (function(){
13 //   console.log(this);
14 // })();
15 ​
16 ​
17 // function fn1() {
18 //   function fn2() {
19 //     console.log(this);
20 //   }
21 //   fn2();
22 // }
23 // fn1();

2.2 构造函数中this的指向

  • this指向当前创建的对象----在内存中开辟的空间
  • 代码:
1  // 【在构造函数中this指向当前创建的对象】
 2 function Student(name,age) {
 3     this.name = name;
 4     this.age =age;
 5 }
 6 // 原型中添加方法
 7 Student.prototype.sayHi = function() {
 8     console.log('我叫' + this.name);
 9 };
10 ​
11 var stu1 = new Student('张三',10);    // ==>this指向stu1
12 var stu2 = new Student('李四',10);    // ==>this指向stu2

2.3 对象方法中的this指向

  • this指向调用者
  • 代码:
 1 // 【在方法中,this指向调用者。  对象.方法()】
 2 function Student(name,age) {
 3     this.name = name;
 4     this.age =age;
 5 }
 6 // 原型中添加方法
 7 Student.prototype.sayHi = function() {
 8     console.log('我叫' + this.name);
 9 };
10 ​
11 var stu1 = new Student('张三',10);    // ==>this指向stu1
12 stu1.sayHi();   // ==>方法sayHi中的this指向stu1

2.4 定时器中this的指向

  • this指向window
  • 代码:
1 // 【在定时器中this指向windnow】
2 setTimeout(function(){
3    console.log(this);
4 },5000);

2.5 事件处理程序中this指向

  • this指向事件源
  • 代码:
1 // 【在事件处理程序中,this指向事件源】
2  document.onclick = function() {
3     console.log(this);
4  };
基于Simulink雷达系统建模仿真(附源码) 此示例显示如何设置由发射器、带目标的信道和接收器组成的雷达系统仿真。一、系统架构该系统包括:雷达脉冲发生器,以 2% 占空比(导通时间 = 2 ms,周期 = 100 ms)输出功率为 1 mW 的啁啾声。RF发射器部分由滤波器和组成,使用RF模块集电路包络库模块实现。由于滤波器是线性器件,放大器是非线性器件,因此它们被分成两个独立的子系统。这种分离允许在每个子系统中使用不同的仿真频率集。这种分离还允许在更快的仿真速度和级联链中可用的级间负载效应损失之间进行权衡。 阅读详情

相关推荐

element的el-cascader组件动态加载,以及报错处理问题

Blocked aria-hidden on an element because its descendant retained focus. The focus must not be hidden from assistive technology users. 报错处理

weixin_56527169的博客 1264

关于函数中的this指向问题

关于函数中的this指向问题前言一、普通函数中this指向二、对象里面的this指向三、函数表达式中的this指向四、立即执行函数的this指向五、定时器计时器中this的指向六、箭头函数里面的this指向七、构造函数里面的this指向7.1当作普通函数进行调用7.2 作为构造函数使用的时候7.3当this关键字 遇上return八、总结 前言 函数在执行时,会在函数体内部自动生成一个this指针。谁直接调用产生这个this指针的函数,this就指向谁。 提示:以下是本篇文章正文内容,下面案例可供参考

RoddyLD的博客 3880

告别卡顿!手把手教你用北鲲云超算平台图形化提交COMSOL仿真任务(附RDP连接技巧)

本文详细介绍了如何利用北鲲云超算平台图形化提交COMSOL仿真任务,解决本地计算资源不足导致的卡顿问题。通过云端高性能计算,用户可轻松配置多核CPU和大内存资源,实现高效仿真计算,并附有RDP连接优化技巧,提升远程操作体验。

weixin_42519781的博客 381

函数内部This的指向问题

函数内部this的指向及如何改变this的指向 一、函数内部this的指向 this的指向是根据调用者来确定的,调用的方式不同,this的指向不同。如下所述: 1.在普通函数的调用中,函数内部的this指向全局的window function fn(){ console.log(this) } fn() //此处的thi指向的是window //故调用该函数控制台输出的结果为window 2.在构造函数的调用中,this指向的是new出来的实例化对象 function fn(name,age,sex){

weixin_48930189的博客 1368

MuJoCo 动捕接口 Mocap 直接操控机械臂(附代码)

动作捕捉(Motion Capture,简称 Mocap)是一种记录并处理人或物体动作的技术,在影视、游戏、机器人等领域应用广泛。通过上下左右以及alt_l,alt_r可以控制hand这个hody跟着mocap进行同步,这里将quat固定为Z朝下。首先在 scene.xml 中修改添加 mocap 和 equality。下面介绍如何配置 Mocap 以及使用按键进行末端控制。控制核心代码,通过按键控制mocap的pos和quat。

darcsdn 879

PX4实战(十):PX4导航模块(Navigator)详解

本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil

PX4-SLAM-PNC 669

函数中的this指向

1.函数在调用时,JavaScript会默认给this绑定一个值;2.this的绑定和定义的位置(编写的位置)没有关系;3.this的绑定和调用方式以及调用的位置有关系;4.this是在;

羊羊羊羊羊羊羊的博客 1079

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv11轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 5987

this的使用

什么是this this是Javascript语言的一个关键字 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象 this的多种用法 全局范围内 函数调用 作为对象方法的调用 call/apply/bind 的调用 作为构造函数调用 全局范围内使用this 在全局范围内使用this ,它将指向全局对象(浏

DGL_优快云的博客 1416

基于Python的MOOC课程评价爬取与分析系统设计与实现

本文详细介绍了如何使用Python最新技术栈构建一个高效的MOOC课程评价爬取与分析系统。系统采用Scrapy框架结合Selenium实现动态页面抓取,利用PyMySQL进行数据存储,并通过Pandas和Matplotlib实现数据可视化分析。文章从爬虫原理、技术选型、系统设计到代码实现进行全面讲解,为教育工作者改进教学质量提供数据支持。关键词:Python爬虫、MOOC评价分析、Scrapy框架、数据可视化、教学改进。

2201_76125261的博客 1103

腾讯Android开发面试准备指南及参考答案

腾讯元宝高级Android开发职位面试准备指南 该职位要求扎实的Kotlin基础、架构设计能力和性能优化经验,重点关注Android客户端开发。面试流程约3轮,支持线上面试,流程较快。候选人需准备以下核心内容: 基础技术:Kotlin特性、Android开发生命周期、多线程编程 架构设计:MVVM/MVI模式应用、组件化解耦方案 性能优化:流畅度提升、内存管理、启动时间优化等实战案例 加分技能:Jetpack Compose开发、音视频处理、跨平台开发经验 建议结合项目经验准备具体案例,突出技术深度和问题解

郑伟强dev的专栏 1194

JavaScript中改变函数内部 this 指向

this的指向 函数内部的this指向 this 的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this 的指向不同,一般指向调用者. 改变函数内部 this 指向 call方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景: 经常做继承. var o = { name: 'andy' } function fn(a, b) { console.log(this); console.log(a+b) }; fn(1,2)

weixin_46004438的博客 445

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

XiaoqiangClub的博客 1万+

函数内部this指向

函数内部指向函数内部的this指向1.普通函数this的指向2.对象方法的函数this的指向3.构造函数this的指向4.绑定事件函数this的指向5.定时器函数this的指向6.立即执行函数this的指向改变函数内部的this指向call方法apply方法bind方法call、apply、bind三者的异同 函数内部的this指向 this的指向是根据调用者来确定的,调用的方式不同,this的指向不同 1.普通函数this的指向 //1.普通函数 this指向window functio

csdn_jwdlh的博客 243

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JavaScript 函数内部this的各种指向

JavaScript 函数内部this的各种指向 目录:**JavaScript** 函数内部this的各种指向1、引言2、code例子2.1 普通函数2.2 匿名函数2.3 构造函数2.4 对象方法调用2.5 事件绑定函数2.6 定时器函数2.7 立即执行函数3、总结4、改变函数内部 this 的指向5、异同点6、应用场景 1、引言 ​ this是js中的一个关键字,随着函数使用场合的不同,this的值也会发生变化。当我们在不使用箭头函数、call()方法、apply()方法、bind()方法的情况下,

abraham_ly的博客 243

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

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

Js 函数内部的this指向 即 改变函数内部 this 指向的三种方法

函数内部的this指向 这些 this 的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this 的指向不同一般指向我们的调用者. 改变函数内部 this 指向 改变 this 指向总共有三种方法: call、apply、 bind call方法: call() 方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景:经常做继承。 var o = { name: 'andy' } function fn(a, b) { console.log(

qq_39275718的博客 862

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

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

函数内部的this指向问题与改变函数内部 this 指向方法

函数内部的this指向问题 调用方式 this指向 普通函数调用 window 构造函数调用 实例对象 原型对象里面的方法也指向实例对象 对象方法调用 该方法所属对象 事件绑定方法 绑定事件对象 定时器函数 window 立即执行函数 window 改变函数内部 this 指向方法: 1.call方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景: 经常做继承. ..

qq_41033308的博客 468

改变函数内部this指向的三种方法

JavaScript为我们专门提供了一些函数方法来帮助我们更优雅的处理函数内部this的指向问题,常用的有call()、apply()、bind()三种方法。 实现我们来看一下函数内this的指向 这些this的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this的指向不同,一般指向我们的调用者。 调用方式 this指向 普通函数调用 window 构造函数调用 实例对象 原型对象里面的方法也指向实例对象 对象方法的调用 该方法所属对象 事件绑定方法 绑定事件对象

Var-al 的博客 1650

JavaScript函数内部this的指向

函数基础复习 1.1 为什么要学习函数? 将一段代码封装到一个函数体中,在需要的地方反复调用。 目的:减少代码冗余 1.2 函数创建和调用 函数声明创建 function 函数名(形参,形参…){ // 函数体 } 函数表达式 var 变量名 = function((形参,形参…){ // 函数体 }; 调用:函数名(实参,实参…) 1.3 函数的参数 应用场景:当函数内部需要函数外部数据时,...

廊坊吴彦祖 472

函数内部的this指向以及改变函数内部this指向

函数内部的this指向以及改变函数内部this指向 一、函数内部的this指向 调用方式不同决定了this的指向不同 <button>点击</button> <script> // 函数的不同调用方式决定了this 的指向问题不同 // 1.普通函数 this 指向window function fn() { console.log('普通函数的this ' + this);

shj125的博客 344

改变函数内部this指向

调用方法 this指向 普通函数调用方法 window 构造函数调用 实例对象 原型对象里面的方法也指向实例对象 对象方法调用 该方法所属的对象 事件绑定方法 绑定事件对象 定时器函数 window 自调用函数 window JavaScript 为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部this的指向问题,常用的有bind()、call()、apply() 三种方法。 call 方法 call() 方法调用一个对象。简单理解为调用函数的方式,但是它可以...

weixin_50001991的博客 228

JavaScript 改变函数内部this指向

JavaScript 为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部this的指向问题,常用的有 bind()、call()、apply()三种方法。 1. call()方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的this指向 fun.call(thisArg, arg1, arg2, ...); thisArg:在fun函数运行时指定的this值 arg1,arg2:传递的其他参数 返回值就是函数的返回值,因为它就是调用函数 因此当我们想改变this指向

火星基地 970

函数内部的this指向 call() apply() bind()改变this指向

1.函数内部的this指向: this对象依赖于上下文,大多数情况下this对象取决于谁调用了此函数。 在方法中,this 指的是所有者对象; var person = { name:"Tom"; outName:function(){ return this.name; //Tom } } 在单独情况下,this 指的是全局对象; var x=this; //Window 在函数中,this 指的是全局对象; function myFunction

qq_43717065的博客 407

函数内部的this指向/改变函数内部 this 指向

函数内部的this指向 这些 this 的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this 的指向不同 一般指向我们的调用者. 改变函数内部 this 指向 2.2.1 call方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景: 经常做继承. var o = { name: 'andy' } function fn(a, b) { console.log(this); console.log(a+b)

weixin_52065872的博客 118

改变函数内部的this指向【三种方法】

改变函数内部 this 指向 前面我们讲到函数的this指向问题:JS 函数与函数【this指向问题】;那么接下来我们聊聊改变函数内this指向如何实现, js提供了三种方法 call() apply() bind(),下面细聊他们的使用方法。 call方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向。 应用场景: 经常做继承. var o = { name: 'andy' } function fn(a, b) { console.lo

egg_er的博客 1112
上一篇: call(),apply(),bind()的异同
下一篇: 改变this指向的方法
Web_front
博客等级 码龄7年 5粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值