function Foo(name){
this.name = name;
}
function _new(fn,...args){
const obj = Object.create(fn.prototype)
const res = fn.apply(obj,args)
return res instanceof Object ? res : obj
}
const a = new Foo('张三')
const b = _new(Foo, '李四')
console.log(JSON.stringify(a))
console.log(JSON.stringify(b))
new 函数实现