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

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

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

  1. 创建空对象 :首先,new操作符会创建一个空对象,这个对象的隐式原型__proto__属性会被设置为构造函数的显示原型prototype属性。
  2. 设置原型链 :将新创建的空对象的隐式原型__proto__属性设置为构造函数的原型prototype,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。
  3. 调用构造函数 :接着,会调用构造函数,并将this指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。
  4. 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
  5. 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。
相关推荐
鱼鱼块2 小时前
告别重复传参!用柯里化提升代码优雅度
前端·javascript·面试
chilavert3182 小时前
技术演进中的开发沉思-274 AJax :Button
前端·javascript·ajax·交互
superman超哥2 小时前
仓颉元数据编程:属性标注机制的设计原理与深度实践
开发语言·仓颉编程语言·仓颉·仓颉元数据·仓颉元数据编程
a程序小傲2 小时前
得物Java面试被问:Fork/Join框架的使用场景
java·开发语言·面试
小笔学长2 小时前
观察者模式:实现对象间的消息传递
javascript·观察者模式·项目实战·前端开发
伯明翰java2 小时前
Java多态
java·开发语言
秋邱2 小时前
Java String家族全解析:String底层原理、常用方法与StringBuffer/StringBuilder区别
java·开发语言
糕......2 小时前
Java集合框架全解析
java·开发语言·网络·学习·list
梵尔纳多2 小时前
打包 Electron 程序
前端·javascript·electron
你的冰西瓜2 小时前
C++中的forward_list容器详解
开发语言·c++·stl·list