使用new 关键字调用函数,创建对象的过程中做了什么

devtools/2024/10/19 6:26:14/

使用new 关键字调用函数,创建对象的过程中做了什么


使用 new关键字创建对象的过程大致可以分为以下几个步骤:

  1. 创建空对象:首先,new操作符会创建一个空对象,这个对象的隐式原型__proto__属性会被设置为构造函数的显示原型prototype属性。
  2. 设置原型链:将新创建的空对象的隐式原型__proto__属性设置为构造函数的原型prototype,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。
  3. 调用构造函数:接着,会调用构造函数,并将this指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。
  4. 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
  5. 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。

http://www.ppmy.cn/devtools/4642.html

相关文章

vivo蓝河破浪前行,国产操作系统掀起创新风暴

一段时间以来,大家普遍认识到,操作系统作为一系列IT基础设施的底层支持,可能决定整个国家在全球信息技术竞争中的地位,不能“缺芯少魂”,已经成为共识。 就在国产操作系统迎来春风的时刻,也必须清醒地看到&…

Cronjob提权

参考: https://redpomelo.xyz/archives/1699953656909 前言 提权为该靶机的精髓,Cronjob通常以root特权运行。如果我们可以成功篡改cronjob中 定义的任何脚本或二进制文件,那么我们可以以root特权执行任意 代码。 什么是Cronjob&#xf…

学习R语言第三天

R语句中的函数信息 1. 函数信息 x <- c(1:100) x #获取x的长度信息 length(x) # 获取第一个数据信息 x[1] # 获取4到18的数据信息 x[c(4:18)]2.存入逻辑值的方式 # y中存入逻辑值的方式 y[c(T,F,T,F)]#输出大于5的数据信息 y[y>5]#输出大于5小于9的数字 y[y<5 &…

HarmonyOS开发实例:【分布式邮件】

概述 基于TS扩展的声明式开发范式编程语言编写的一个分布式邮件系统&#xff0c;可以由一台设备拉起另一台设备&#xff0c;每次改动邮件内容&#xff0c;都会同步更新两台设备的信息。效果图如下&#xff1a; 搭建OpenHarmony开发环境 完成本篇Codelab我们首先要完成开发环境…

多语言vue-i18n (vue2,uniapp)

安装vue-i18n npm install vue-i18n8 --save // npm install vue-i18n–save 9版本需要vue3.0 // 在vue2环境下&#xff0c;默认安装 npm install vue-i18n 的版本是 vue-i18n9.2.2&#xff0c; // 报错信息里提示这个版本要求是vue3&#xff0c;所以我们安装适合vue2版本的vu…

Flask、Django和Tornado怎么选

选择 Flask、Django 还是 Tornado 取决于你的项目需求、个人偏好以及团队技术栈等因素。下面我将简要介绍这三个框架的特点和适用场景&#xff0c;希望能帮助你做出选择&#xff1a; Flask&#xff1a; 轻量级框架&#xff1a;Flask 是一个轻量级的 Web 框架&#xff0c;设计…

ElasticSearch可视化工具:kibana + elasticsearch-head

kibana 下载 地址&#xff1a;https://www.elastic.co/cn/downloads/kibana 下载别的版本&#xff1a;https://www.elastic.co/cn/downloads/past-releases#kibana 将Kibana安装包解压缩 进入config目录&#xff0c;在kibana.yml中添加es服务器地址。&#xff08;如果之前没…

prompt提示词:影响力营销文案,让AI 帮你写营销文案

影响力营销文案提问技巧 1&#xff0e;我正在寻找一个有影响力的营销活动大纲&#xff0c;向我的[理想客户角色]展示我的[产品/服务]&#xff0c;并说服他们在符合我们品牌价值的[有影响力的类型]的帮助下采取[期望的行动]2&#xff0e;我需要一个有影响力的营销活动大纲&…