1.环境对象的定义

环境对象指的是函数内的特殊变量this,this指向函数的调用者它代表当前函数的运行环境

在平常我们判断this经常用口诀谁调用它,它就指向谁,以下是几种常见情况

  1. 在全局作用域中,this指向window

   2.在函数中,他也指向他的调用者,如果是用函数名调用,则相当于window调用该函数,所以this指向window,如果是作为对象的方法调用时指向该对象

function fn() {console.log(1)}fn()//指向window

 

onst obj = {name: "Alice",greet: function() {console.log(`Hello, ${this.name}!`);}
};obj.greet();

 3. 在构造函数new..,this指向正在 创建的新对象

function Person(name) {this.name = name;
}const alice = new Person("Alice");
console.log(alice.name); 

   4.在监听事件中,this指向事件源

 const div = document.querySelector('div')div.addEventListener('click',function(){console.log(1)//此时this指向div})

5.箭头函数没有自己的this,它的this继承于外层作用域

2.构造函数

构造函数是一种特殊的函数,用于创建和初始化对象。

构造函数通常以大写字母开头,通过new调用

而用new调用构造函数创建一个新的对象的过程

1.创建一个新的对象

2.将this绑定到新对象上

3.初始化对象的属性/方法(函数)

4。返回这个新对象

function Person(name, age) {this.name = name;this.age = age;this.greet = function() {console.log(`Hello, I'm ${this.name}!`);};
}// 使用 new 创建实例
const alice = new Person("Alice", 25);
alice.greet(); // 输出: Hello, I'm Alice!

在日常写代码时弄清楚这俩样东西能为我们写代码带来很大的便利。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

202507中央城市工作会议

国家终于要给城市"升级系统"了!未来城市不再拼命盖新楼,而是让现有城区更安全、舒适、智能,且每个城市都要找到自己的特色发展路径 2025年7月北京“中央城市工作会议”。领导人聚在一起,讨论“怎么把中国城市搞得更好”…

springboot如何redis锁

如何解决超卖问题?超卖问题:就是多个线程并发执行,目前唯一方案是加锁。如图:悲观锁其实还有数据库的互斥锁。悲观锁是最常见的乐观锁实现的原理:版本号:这种方案就是:扣款库存的时候首先先查询版本号&…

minio批量删除对象不生效

下午在写minio上批量删除对象的逻辑,各种改对象名称,各种核对代码,发现啥都没错,但是删除就是不生效。 代码如下: from minio.deleteobjects import DeleteObjectdelete_object_list [DeleteObject("20250626/20…

如何设计实现开发自助重启工具-01-设计篇

自助重启系列 如何设计实现开发自助重启工具-01-设计篇 应用部署作业-02-流程 如何实现自助重启-03-实现篇 开发自助重启 说明:有时候研发产线需要重启,为了保证安全、或者说提升效率,最好有一个统一的研发自助重启页面。 这个功能可应…

ChatTongyi × LangChain:开启多模态AI应用创新之门

阿里云通义实验室推出的ChatTongyi(基于通义千问大模型)与LangChain框架的深度集成,为开发者打造了一套高效、灵活、全面的AI开发工具链。无论是文本对话、复杂任务自动化,还是图像理解,这一组合都为多场景智能应用的落…

Android Studio C++/JNI/Kotlin 示例 二

MainActivity.ktpackage com.demo.learn1import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivityclass MainActivity : ComponentActivity() {// 加载原生库init {System.loadLibrary("native_code")}// 声明原生方法// 数学…

B树和B+树

B树B树,⼜称多路平衡查找树,B树中所被允许的孩⼦个数的最⼤值称为B树的阶,通常⽤m表示。⼀棵m阶B树或为空树,或为满⾜如下特性的m叉树: 1)树中每个结点⾄多有m棵⼦树,即⾄多含有m-1个关键字。 2…

【版本控制】Perforce Helix Core (P4V) 完全入门指南(含虚幻引擎实战)

目录引言第一章:认识 Perforce Helix Core1.1 什么是 Perforce?1.2 P4V 是什么?1.3 核心概念速览1.4 为什么选择 Perforce?1.5 与 Git 的核心区别本章总结第二章:安装与配置2.1 安装原则:先服务端后客户端2…

LlamaFactory/unsloth Demo

内部叫Tuning-Factory 参数文档https://llamafactory.readthedocs.io/zh-cn/latest/index.html 高级技巧,如加速:https://llamafactory.readthedocs.io/zh-cn/latest/advanced/acceleration.html 0.环境 conda env list conda remove --name llm --all c…

水务工程中自动化应用:EtherNet/IP转PROFIBUS DP连接超声波流量计

在水务工程领域,自动化技术的应用愈发广泛。随着工业4.0概念的普及,不同通信协议的设备之间实现高效互联互通变得尤为关键。EtherNet/IP和PROFIBUS DP作为两种常见的工业通信协议,各有优势,在实际应用中,常需要将它们进…

网络协议和基础通信原理

网络协议和基础通信原理是理解互联网和各种网络应用的关键。让我用通俗易懂的方式,带你逐一深入讲解这些内容。 一、基础概念总览 TCP/IP协议族:互联网通信的基础,由一组协议组成,包括TCP、IP、UDP等。HTTP协议:基于T…

T16IZ遥控器教程__遥控器与无人机对频

文章目录前言一、准备设备二、对频步骤总结前言 在使用自组PX4无人机时,有的小伙伴可能会遇到遥控器无法与无人机对频连接的问题,别担心,这篇文章会解决它。 一、准备设备 如下图,无人机信号接收器,与无人机。 遥控器…

pyspark中map算子和flatmap算子

在 PySpark 中,map 和 flatMap 是两个常用的转换算子,它们都用于对 RDD(弹性分布式数据集)或 DataFrame 中的元素进行处理,但处理方式和应用场景有所不同。下面详细讲解它们的用法和适用场景。1. map 算子功能对 RDD 或…

jenkins部署前端vue项目使用Docker+Jenkinsfile方式

文章目录前言一、前提准备二、准备构建文件三、Jenkins中构建项目总结前言 前面通过jenkinsdocker的方式部署了若依前端vue项目,接下来接着学习使用Jenkinsfile的方式部署前端vue项目。 一、前提准备 已经安装好centos服务器,并且安装了jenkins和docke…

Cadence操作说明

一.allegro修改丝印字体大小的方法 1.选择Edit–>Change,右侧弹出Options选项,选择Class : New subclass Ref Des : Silkscreen_Top,设置Text block,后面的数字代表字号的大小。菜单菜单栏选择Setup–>Design Parameters&a…

使用Stitch来生成CrypyTrack的app程序

结果: 🧭 第一步:访问 Stitch 平台 打开网址:stitch.withgoogle.com使用你的 Google 账号登录,无需安装任何软件 🧱 第二步:选择设计模式 Stitch 提供两种模式: 标准模式&#xf…

告别繁琐:API全生命周期管理的新范式——apiSQL

API(应用程序接口)是连接数据与服务的生命线,是数字世界的基石。然而,一个高质量API的诞生并非易事,它涉及一个漫长而复杂的全生命周期——从规划设计到最终退役,每个环节都需要专门的工具和技能&#xff0…

R 语言科研绘图第 64 期 --- 哑铃图

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…

基于MaxCompute MaxFrame 汽车自动驾驶数据预处理最佳实践

一、背景及挑战在汽车自动驾驶场景中,车端(量产车、研采车)持续产生并采集海量数据,包括图片、音视频、雷达、GPS等内容,这些数据通常以 ROSbag文件形式进行存储。行业需求:自动驾驶依赖海量多模态数据&…

NLP:RNN文本生成案例分享

本文目录:一、导入工具包二、数据集三、 构建词表四、 构建数据集对象五、 构建网络模型六、 构建训练函数七、构建预测函数前言:上篇文章讲解了RNN,这篇文章分享文本生成任务案例:文本生成是一种常见的自然语言处理任务&#xff…