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

解释“this”的工作原理,原型继承如何工作,以及如何实现手写JS继承。还包括Array对象自带的方法列举,以及如何使用闭包。

1:"this"的工作原理:

  • this 关键字指向当前执行上下文的对象,也就是当前函数被调用时所在的对象。
  • this 的值取决于函数的调用方式,不同的调用方式会导致 this 指向不同的对象:
  • 作为对象的方法调用,this 指向该对象
  • 作为普通函数调用,this 指向全局对象(浏览器中是 window, Node.js 中是 global)
  • 使用 call()、apply() 或 bind() 方法调用,this 指向传入的对象
  • 箭头函数没有自己的 this, this 由外层作用域决定

2:原型继承如何工作:

  • 每个 JavaScript 对象都有一个原型对象,当访问对象的属性或方法时,如果在对象自身上找不到,就会沿着原型链向上查找。
  • 原型继承通过 Object.create() 或构造函数实现:
  • Object.create() 方法创建一个新对象,并将新对象的原型设置为指定的对象。
  • 构造函数通过 new 关键字创建对象,新对象的 proto 属性指向构造函数的 prototype 属性。

3:手写 JS 继承:


// 父类
function Animal(name) {this.name = name;
}
Animal.prototype.sayName = function() {console.log('My name is ' + this.name);
};// 子类
function Dog(name, color) {Animal.call(this, name); // 调用父类构造函数this.color = color;
}
Dog.prototype = Object.create(Animal.prototype); // 继承父类原型
Dog.prototype.constructor =
http://www.lryc.cn/news/357189.html

相关文章:

  • 汇智知了堂实力展示:四川农业大学Python爬虫实训圆满结束
  • 2024下半年软考报名人数较去年减少,仅52.77万
  • 【前端常见面试题整理】
  • Java final关键字
  • 半个月获邀请函|在读博士公派新加坡南洋理工大学联合培养
  • c++移动构造和赋值的样例
  • 静态测试---基于WorkList的活跃变量分析
  • Oracle 证书的重要性
  • 【Go专家编程——并发控制——Mutex】
  • SRE视角下的DevOps构建之道
  • 小白如何如何理解滑动窗口最大值问题python
  • Linux--进程间通信(2)(有名管道)
  • window自动启动bat文件
  • 2024年蓝桥杯Web开发【大赛大纲】15届
  • 【vue-cli搭建vue项目的过程2.x】
  • Android 生成正式版密钥库 KeyStore
  • POLARDB:新零售用户MySQL上云最佳选择
  • PHP MySQL图解学习指南:开启Web开发新篇章
  • uniapp一些问题解决
  • 数字经济讲师培训师教授唐兴通谈新质生产力数字化转型高质量发展AI人工智能大模型大数据经信委大数据管理局
  • 关于APM32F407配置串口DMA收发没有数据的问题记录
  • 基于python实现的深度学习web多格式纠错系统
  • UE5文件操作
  • element plus 去掉select选择框的边框,并修改右侧图标
  • Ceph KernelFuse GetSet Quota
  • JVM学习-字节码指令集(二)
  • 解密网络流量监控:优化IT运维的利器
  • oracle 分区表常用语句(2)
  • Python函数式编程进阶:用函数实现设计模式
  • Ingress controller:Kubernetes 的瑞士军刀