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

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

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

  1. 创建空对象 :首先,new操作符会创建一个空对象,这个对象的隐式原型__proto__属性会被设置为构造函数的显示原型prototype属性。
  2. 设置原型链 :将新创建的空对象的隐式原型__proto__属性设置为构造函数的原型prototype,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。
  3. 调用构造函数 :接着,会调用构造函数,并将this指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。
  4. 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
  5. 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。
相关推荐
Light602 分钟前
破局“数据孤岛”:构建业务、财务、指标三位一体的智能数据模型
java·大数据·开发语言
米方3 分钟前
ElementPlus 穿梭框支持批量穿梭
前端·javascript·vue.js
guygg884 分钟前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
IMPYLH8 分钟前
Lua 的 warn 函数
java·开发语言·笔记·junit·lua
还算善良_11 分钟前
【Vue】表格实现表头多彩
javascript·vue.js·ecmascript
JS_GGbond17 分钟前
用Canvas和SVG制作简单动画:从零开始的视觉魔法
javascript
周杰伦_Jay19 分钟前
【Java集合与线程池深度解析】底层原理+实战选型+避坑指南(附代码)
java·开发语言·python
努力学习的少女23 分钟前
对SparkRDD的认识
开发语言·前端·javascript
代码or搬砖27 分钟前
Java中操作Redis
java·开发语言·redis
海上彼尚31 分钟前
Go之路 - 3.go的数据类型与转换
开发语言·后端·golang