1.创建一个空对象
2. 让该对象的__proto__指向构造函数的prototype
3. 改变构造函数中this的指向,指向该对象
4. 处理构造函数返回的值, 如果是引用类型 返回函数的返回结果 否则返回创建的新对象
function create(fn, ...rest){
let obj = {}
obj.__proto__ == fn.prototype
let result = fn.apply(obj, ...rest)
return result instanceof Object ? result : obj
}