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

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

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

  1. 创建空对象 :首先,new操作符会创建一个空对象,这个对象的隐式原型__proto__属性会被设置为构造函数的显示原型prototype属性。
  2. 设置原型链 :将新创建的空对象的隐式原型__proto__属性设置为构造函数的原型prototype,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。
  3. 调用构造函数 :接着,会调用构造函数,并将this指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。
  4. 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
  5. 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。
相关推荐
北冥you鱼27 分钟前
Go-Ethereum (Geth) 最佳实践:从部署到生产环境优化
开发语言·后端·golang
索西引擎1 小时前
【React】JSX:JavaScript 语法扩展的本质、编译机制与表达能力分析
前端·javascript·react.js
这不小天嘛7 小时前
JAVA八股——J集合篇
java·开发语言
AOwhisky7 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
牧濑红莉9 小时前
网络安全竞赛pwn全解及第一道ai的wp
javascript·.net
kyriewen9 小时前
别再用AI debug了——这5种bug越修越烂
前端·javascript·ai编程
喜欢的名字被抢了10 小时前
Python实战:SQLAlchemy ORM与FastAPI项目集成
开发语言·python·sql·教程·fastapi
顾昂_11 小时前
内存泄漏排查和 Chrome DevTools 使用教程
前端·javascript·面试
An_s12 小时前
rust开发wasm与浏览器(js)交互
javascript·rust·wasm
山河木马12 小时前
GPU自动处理专题4-填充覆盖区域(光栅化)
javascript·webgl·计算机图形学