当前位置: 首页 > news >正文

JavaScript中关于环境对象的拓展

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.lryc.cn/news/588789.html

相关文章:

  • GaussDB 数据库字符编码与兼容模式
  • 操作系统笔记:进程调度(Process Scheduling)
  • 纸板加工制造学习1
  • Listener(监听器)
  • 【监控实战】Grafana自动登录如何实现
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现SQLserver数据库的监控与可视化
  • 半导体制造流程深度解析:外观缺陷检测的AI化路径与实践
  • 批量制作Word:如何根据表格数据的内容批量制作word,根据Excel的数据批量制作word文档的步骤和注意事项
  • docker安装prometheus和Grafana
  • 【PTA数据结构 | C语言版】将表达式树转换成中缀表达式
  • JDK1.8函数式编程实战(附日常工作案例,仅此一篇耐心看完彻底搞懂)
  • 进程探秘:从 PCB 到 fork 的核心原理之旅
  • Isaac Sim仿真赋能机器人工作流,推动具身智能在机器人领域研究
  • Web前端入门:JavaScript 由程序触发绑定事件的几种方式
  • redisson 设置了过期时间,会自动续期吗
  • [ctfshow web入门]web98 学习PHP的引用
  • LeetCode 3136.有效单词:遍历模拟
  • 21.映射字典的值
  • 连接new服务器注意事项
  • 非实时的防控场景
  • LLM面试题及讲解 4
  • 【Tauri】Tauri 2.x+Vue自动更新教程对接后端接口更新
  • C++--哈希
  • CPU寄存器、进程上下文与Linux O(1)调度器原理
  • 知识付费小程序资质全解析
  • 进程的内存映像,只读区,可读写区,堆,共享库,栈详解
  • 【机器学习基础【5】】Python数据科学三件套:从数据创建到处理再到可视化实战
  • 链表的 哑结点的本质
  • 排序算法实战(上)
  • 经典排序算法之希尔排序