new的实现过程

86 阅读1分钟

function Fun(name,age){
    this.name=name;
    this.age=age;
     return {
         a:1,
         b:2
     };
}
function myNew(){
    let obj={};
    Constructor=[].shift.call(arguments);
    obj.__proto__=Constructor.prototype;
    let result=Constructor.apply(obj,arguments);
    return typeof result==='object'?result:obj;
}
var a=myNew(Fun,'shuai',25)

参考链接:blog.csdn.net/qq_36737839…