2026-10-25 08:18:57
JS的new操作符执行以下步骤来创建并初始化对象:
创建一个空的JS对象:{}。这是一个全新的、没有任何属性和方法的对象。
设置原型链:将这个空对象的原型指向构造函数的原型。这一步确保了新创建的对象能够继承构造函数原型上的方法和属性。
绑定this:将空对象设置为构造函数的执行上下文,即改变this的指向,使this指向这个新创建的对象。这样,构造函数内部就可以通过this来为新对象添加属性和方法了。
执行构造函数:调用构造函数,传入必要的参数。在构造函数内部,可以通过this来访问和修改新对象的属性和方法。
处理返回值:
总结:new操作符通过一系列步骤创建了一个新对象,并将其与构造函数关联起来,同时允许构造函数通过this来初始化这个新对象。如果构造函数显式返回一个引用数据类型值,那么这个值将被用作最终结果,而忽略new操作符创建的新对象。