js中 this 的指向

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

1、纯函数中调用

普通函数直接调用,this指向window对象

function foo() {
    var x = 1;
    console.log(this, this.x);
}
foo();      //window, 1

2、作为对象方法调用,this指向上级对象

var foo = function(){
    console.log(this, this.x);
}
var o = {
    x: 1,
    m: foo
}
o.m();      //o, 1

3、作为构造函数调用

所谓构造函数,就是通过这个函数生成一个新对象,this就指向这个新对象

function foo(){
    this.x = 1;
    console.log(this);      //foo()
}
var o = new foo();

4、call(), apply()调用

var o = {
    x: 1
}
function foo() {
    console.log(this);
}
foo.call(o);        //o
foo.apply(o);       //o

注:call(), apply()的参数为空时,默认调用全局对象

5、Object.prototype.bind

  • bind为函数指定新的this对象,并且不能通过call(), 或apply()更改其this对象
  • 当再次使用new时,就会自动把this绑定到新对象上, 回覆盖之前的bind
function returnThis () {
  console.log(this);
  return this;
}
var a = { name: 'aaa'};
var boss1returnThis = returnThis.bind(a);
boss1returnThis();          // a

var b = { name: 'bbb' };
boss1returnThis.call(b);    // still a

new returnThis();           //returnThis()
PIN限幅二极管在接收机中的应用 本文介绍了接收机保护限幅器的工作原理及应用,重点阐述了PIN二极管在雷达收发机中的关键作用。文章指出,限幅器能有效保护接收机灵敏元件免受大功率信号损害,主要通过反射而非耗散功率来实现保护功能。文章详细分析了PIN二极管的层结构特性及其阻抗变化机制,解释了多级限幅器的设计原理(包括清理级和粗限幅器的配合使用),并介绍了通过添加检波二极管降低阈值水平的方法。最后指出,实际应用中限幅器通常采用3级或更少的设计。 阅读详情

相关推荐

Carsim与AVL CRUISE联合仿真:从零搭建整车模型的实战指南

本文详细介绍了如何从零开始搭建Carsim与AVL CRUISE联合仿真整车模型,涵盖软件环境配置、接口设置、模型连接及调试技巧。通过联合仿真,可充分发挥Carsim在车辆动力学和AVL CRUISE在动力系统仿真方面的优势,为电动车和混合动力汽车的研发提供精准的整车模型分析。

weixin_29067143的博客 938

JavaScript 特性 this与“bind“和“call“,“apply“的理解

本文的目的是帮助JavaScript初学者更好地理解"bind"方法,并帮助那些对"this"的理解不太清楚的人更好地理解"bind"方法和"this"之间的关系。特别是对于那些对"this"的理解不太清楚的人是有所帮助的。在深入学习"bind"方法之前,先查看一下MDN Web Docs中的说明。"bind"方法可以生成一个新的函数,当新函数被调用时,"this"关键字将被设置为指定的值。如果您不理解"bind"方法,即使阅读了上述说明,也可能不知所云。

zhtbs的博客 1237

法律AI工具横评:Kimi Work与WorkBuddy,谁更适合法律人?

在人工智能技术日益普及的今天,自然语言处理(NLP)和大语言模型(LLM)正深刻改变着专业领域的工作范式。其核心原理在于通过海量数据训练,使模型能够理解、生成和推理人类语言。这一技术价值在于将从业者从繁琐、重复的信息处理工作中解放出来,极大提升工作效率与知识获取的便捷性。在法律、金融、咨询等对文本处理要求极高的行业,AI助手已展现出在文档分析、信息检索和内容生成方面的巨大潜力。具体到法律应用场景,AI工具能够辅助完成合同审查、法律检索和文书起草等核心任务,成为专业人士的得力助手。本文聚焦于近期备受关注的两款

weixin_30279671的博客 560

this以及bind、apply与call

call、apply、bind的作用是改变函数运行时this的指向。 一、this 1、普通函数中的this function fn1(){ console.log(this) //window } fn1() var a = 1; function fn(){ console.log(this.a); } fn(); //输出1 setTimeout(function() { console.log(this) //window function fn(){ ..

CamilleZJ的博客 514

VS2022下C# WPF项目一键打包成独立exe的完整指南

本文提供了一份在Visual Studio 2022中将C# WPF项目一键打包成独立可执行exe文件的完整指南。通过配置项目属性、启用单文件发布和自包含模式,开发者无需依赖第三方工具,即可生成可在未安装.NET运行时的电脑上直接运行的独立程序,极大简化了桌面应用的分发流程。

weixin_28831399的博客 672

dos攻击 --hping3

dos使用hping3攻击

qq_65880213的博客 2747

this绑定与call、apply以及bind详解

在JavaScript中this的概念较为抽象,一共可以分为五种场景: 默认绑定 隐式绑定 显式绑定 new绑定 箭头函数绑定 先讲一下this的概念吧,this实际上是在函数被调用的时候才发生的绑定,也就是说this具体指向什么,取决于你怎么调用函数。 而apply和call是属于函数应用,指定this的同时也执行方法,bind则不同,它只是负责绑定this并返回一个新的方法,不会执行,所以我们经常看到bind后面会加一个()。 ...

henu_GM的博客 773

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 340

this,bind,call,apply三者之间的区别

this this的指针作用域: 1、在全局中使用this,表示全局的global对象,在浏览器中this指向window对象; 2、当在函数执行环境中使用this时,如果函数没有明显的作为非window对象的属性,而只是定义了函数,不管这个函数是不是定义在另一个函数中,这个函数中的this仍然表示window对象。如果函数显示地作为一个非window对象的属性,那么函数中的this就代表这个对象; 3、当通过new运算符来调用函数时,函数被当做一个构造函数,this指向构造函数创建出来的对象; 4、th

weixin_46174785的博客 387

Vue3 - 完美解决 vite 打包后在本地浏览器直接打开运行,build 打包后双击 index.html 直接以 file 协议运行网站(资源、接口等正常访问,和部署到服务器运行效果一样)

vue3vite怎么支持file协议本地打开,vite打包文件如何支持files协议,支持双击即可打开网页,vue3vite打包后双击本地运行,vue3vite打包后怎么直接在浏览器双击打开访问,vite打包后显示空白,vite如何支持本地file协议打开,vue3vite打包后如何本地查看网站,vue3vite项目打包后本地启动白屏怎么办,vite打包后的代码如何在本地运行,vite+vue3打包在fIle本地index.html打开项目,打包后如何直接打开index.html文件,vue3

🏆 前端领域优质创作者 1万+

反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释

反卷积的作用 卷积中padding的几个概念 No Padding Half(Same) Padding Full Padding 反卷积 反卷积中的Padding参数 反卷积的stride参数 反卷积总结 参考资料

iioSnail的博客 2万+

一篇文章带你搞懂js的this指向

基于以上的分析,我们可以简单的得出this指向简单记忆方式script 标签中,this指向全局对象函数作用域中,this指向函数调用对象,如果函数独立调用会出现特殊情况(严格模式指向undefined,非严格指向全局)箭头函数中,this指向会沿着作用域链向上级作用域中查找this,直到找到为止。new 关键字调用函数生成对象时,this一定指向新创建的对象,这一点是无法被改变的,尽管使用显示绑定函数去主动绑定this,也无法改变this指向。

2301_76380626的博客 1751

c++中,部署Ethercat IGH + PREEMPT_RT 环境,跑DC模式,如何实现?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1357

【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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

js this指向哪里 JavaScript this指向

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

961

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

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

深入辨析JavaScript的this指向

outerFunc是在运行时才能确定this指向,那么innerFunc如何在定义时就能确定this的值呢?// this 继承自 outerFunc 的 this// 输出: Window {...}(非严格模式)或 undefined(严格模式)事实是:innerFunc的this静态绑定了 outerFunc的this 的引用!在onterFunc定义时,innerFunc的this并不是一个独立的值,而是直接指向 onterFunc的this。

weixin_58843362的博客 2019

【JavaScript】this 指向

① 默认绑定:在全局中声明的变量和函数(默认指向Window);函数独立调用时(声明式函数、匿名函数 / 赋值式的方式、闭包)(都是指向Window);立即执行函数、 setTimeout、setInterval 指向 window对象调用(也就是谁调用就是指向谁,所以就是指向调用这个函数的对象)(存在隐式丢失的问题:函数赋值和参数赋值的情况);绑定的事件处理函数(指向的是绑定事件处理函数的标签);(指向第一个参数)构造函数中的this指向实例化出来的对象;

athicket 1609

js中的this指向问题以及改变this指向

JS中的this 指向问题 代码解释: <!-- <button>点击</button> --> <script> var Btn = document.getElementsByTagName("button")[0]; Btn.onclick = function(){ console.log(this); //button fun () } function fun(){

weixin_51723279的博客 266

【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

js知识点总结之this指向

this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。关于this的指向,有一种广为流传的说法就是“谁调用它,this就指向谁”。这样的说法没有太大的问题,但是并不是太全面。总结起来,this的指向规律有如下几条:在函数体中,非显式或隐式地简单调用函数时,在严格模式下,函数内的this。

fyw1789的博客 2585

JavaScript-JS中this的指向

JavaScript-JS中this的指向 本文将主要总结JS中this的指向 隐式绑定的场景: 全局上下文 直接调用函数 对象.方法的形式调用 DOM事件绑定(特殊) new构造函数绑定 箭头函数 1. 全局上下文 全局上下文默认this指向window, 严格模式下指向undefined。 2. 直接调用函数 比如: let obj = { a: function() { ...

白糖炒栗子 402

【JavaScript】一文搞懂JS中this指向

文章关键要点 1、this是函数内部的隐含参数,指代当前运行环境。 2、this指向的是一个对象,一般指向调用者。 3、this的八种指向 一、this初衷 在函数执行时,每次JS都会在函数内部传入一个隐含的参数 this,指代当前的运行环境。 this的指向是一个对象,根据函数调用方式的不同,this的值也不同,一般指向调用者。 二、JS中的八种指向 1、全局作用域内,this指向window //1、 console.log(this === window); //

weixin_48989252的博客 480

JS(javascript)中this的指向问题

众所周知,this的指向问题一直是JS中比较难的问题,很多时候我们都搞不清this到底指向的谁。今天,我就来给大家讲一下this的指向问题。 一句话概括:谁调用this,this就指向谁。 接下来给大家举几个简单的例子: var lilei = { name : "lilei", age : 18, say : function() { ...

weixin_44316351的博客 230

JavaScript(this指向)

//** 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,* 这个隐含的参数就是this,this指向的是一个对象,* 这个对象我们称为函数执行的 上下文对象,* 根据函数的调用方式的不同,this会指向不同的对象(与调用方式有关,与创建方式无关)* 1.以函数的形式调用时,this永远都是window* 2.以方法的形式调用时,this就是调用方法的那个对象*/// 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,this// Window对象// }

zhangh040629的博客 632

js this 阮一峰_JavaScript关于this指向的问题

前短时间在js this指向问题上有些迷茫,这段时间通过查阅一些资料以及看了阮一峰老师对this指向问题的解析,自己也深受体会,下面就谈一谈通过学习后自己对this指向的深入理解。一丶关于this不同方式 调用的不同的表现方式var obj = { a: 1, f1: function () { console.log(this.a) } }; var f1 = obj....

weixin_42525582的博客 1054
上一篇: webpack
下一篇: css两端分散对齐
foolman_pc
博客等级 码龄11年 5粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值