- 创建一个空对象
- 把空对象的原型设为构造函数的原型
- 把构造函数的指针指向这个空对象并传参
- 最后返回实例
具体代码如下
function likeNew(Obj,...args)
{
let newObj = {}
newObj.__proto__ = Obj.prototype
//可将前两步合并 let newObj = Object.create(Obj.prototype)
let result = Obj.apply(newObj,args)
if(typeof result === 'object' || typeof result === 'function' && result !== null){
return result
}
return newObj
}