手写new实现
new的原理
1.创建一个空对象
2.将新对象的__proto__指向构造函数的prototype对象
3.this指向新对象,给新对象添加属性
4.返回新对象
function newFn(fn,...args){ let obj = {} obj.__proto__ = fn.prototype let res = fn.apply(obj,args) if(typeof res=="object"||typeof res=="function"&&res!==null){ return res } return obj }