function New(fn, ...args) {
let obj = Object.create(fn.prototype);
let res = fn.apply(obj, args);
return res instanceof Object ? res : obj;
}
测试代码:
function Dog(name) {
this.name = name;
}
Dog.prototype.sayName = function () {
console.log(this.name);
};
let newDog = New(Dog, "只是New出来的小狗");
newDog.sayName();