在自己的类中调用新对象内部的构造函数可以通过以下步骤实现:
Object.create()
方法创建一个原型为新对象的实例的空对象。apply()
或call()
方法将新对象作为上下文,调用构造函数。下面是一个示例代码:
function MyClass(param1, param2) {
this.param1 = param1;
this.param2 = param2;
}
MyClass.prototype.myMethod = function() {
console.log("Hello, World!");
}
function createNewInstance(Constructor, ...args) {
const newObj = Object.create(Constructor.prototype);
Constructor.apply(newObj, args);
return newObj;
}
const newObj = createNewInstance(MyClass, "value1", "value2");
console.log(newObj.param1); // 输出: value1
console.log(newObj.param2); // 输出: value2
newObj.myMethod(); // 输出: Hello, World!
在上述示例中,createNewInstance()
函数接受一个构造函数和参数列表作为参数,并返回一个新对象。该函数内部使用Object.create()
方法创建一个空对象,并将构造函数的原型设置为该空对象。然后,使用apply()
方法将新对象作为上下文,调用构造函数,并传递参数列表。最后,返回新对象。
这种方式可以在自己的类中调用新对象内部的构造函数,实现对象的创建和初始化。
领取专属 10元无门槛券
手把手带您无忧上云