function _new(){
let ctx = [].shift.apply(arguments)
//1、创建一个空对象
let obj = new Object()
//2、将新对象的构造函数的原型与老对象原型绑定起来
obj.__proto__ = ctx.prototype
//3、给新对象绑定参数
const res = ctx.apply(obj,arguments)
//4、判断是不是对象,是返回res、不是返回obj
return res instanceof Object ? res : obj
}
let p1 = _new(Person,'漳厦',2343)
console.log(p1)