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

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

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

  1. 创建空对象 :首先,new操作符会创建一个空对象,这个对象的隐式原型__proto__属性会被设置为构造函数的显示原型prototype属性。
  2. 设置原型链 :将新创建的空对象的隐式原型__proto__属性设置为构造函数的原型prototype,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。
  3. 调用构造函数 :接着,会调用构造函数,并将this指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。
  4. 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
  5. 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。
相关推荐
console.log('npc')1 分钟前
使用 Vue3 和 Element Plus 实现选择新增用户集下拉选项框,切换类型,有物业,网格,电子围栏,行政区划管理
javascript·vue.js·elementui
海洋的渔夫3 分钟前
9-ruby 运算符的详解
开发语言·ruby
一只小阿乐4 分钟前
做一个vue3 v-model 双向绑定的弹窗
javascript·vue.js·elementui·vue3·v-model
前端付豪7 分钟前
项目启动:搭建Vue 3工程化项目
前端·javascript·vue.js
凯子坚持 c10 分钟前
Docker LXC深度解析:从基础概念到实战演练
java·开发语言
m0_7482336433 分钟前
jank实现C++无缝互操作的技术探索
开发语言·c++
Giant10035 分钟前
小白也能懂:网页一堆 JS 变慢了?附具体代码优化方案
javascript
秋田君39 分钟前
3D热力图封装组件:Vue + Three.js 实现3D图表详解
javascript·vue.js·3d·three.js·热力图
污斑兔1 小时前
技术随笔:Node.js ESM 中巧用 `-r dotenv/config` 解决环境变量异步加载问题
开发语言·r语言·node.js
ALex_zry1 小时前
C++中使用gRPC over Unix Domain Sockets的高性能进程间通信技术解析
开发语言·c++·unix