function _new(fn,...arg){
let obj = {};//先生成一个新对象
obj.__proto__ = fn.prototype;//修改新对象的原型对象
let result = fn.apply(obj,arg);//将this指向新对象
return typeof result === "object" && result !== null ? result : obj
}
function _new(){
let args = [].slice.call(arguments);//获取所有参数
let constructor = args.shift();
let context = Object.create(constructor.prototype)
let result = constructor.apply(context,args)
return typeof result === 'object' && result !== null ? result : context
}