var obj = new Object();
1 obj一个新对象
2 obj对象 __proto__ 指向了Object 的 prototype 属性
3 执行的上下文this指向obj对象
4 函数有返回值,obj对象指向返回值
function MyNew(Fu,...args){
let result = Object.create({});
if(Fu.prototype !==null){
Object.setPrototypeOf(result,Fu.prototype)
}
//绑定this
const returnresult = Fu.apply(result,args)
//返回值是对象,函数
if((typeof returnresult===‘object’|| typeof returnresult===‘function’)&&returnresult!=null){
return returnresult
}
return result;
}