function mockNew() {
 // 取出类
 let Constructor = [].shift.call(arguments);
 
 // 创建空对象
 let obj = {};
 
 // 设置新对象的__proto__属性指向构造函数的prototype对象
 obj.__proto__ = Constructor.prototype;
 
 // 使用新对象调用函数,函数中的this被指向新实例对象
 let r = Constructor.apply(obj, arguments);
 
 // 返回this指针. 当存在显示的返回时, 返回return后面的内容.新建的空对象作废.
 return obj instanceof Object ? r : obj;
}