new 运算符内部做了如下四个操作:

创建一个空的简单 JavaScript 对象(即{});
链接新对象(即设置该新对象的构造函数)到函数对象;
将新创建的对象作为 this 的上下文;
如果该函数没有返回对象,返回新创建的对象。