new的作用是执行一个构造函数(函数)返回一个实例对象。
    new在生成实例的过程:

    1. 创建一个新对象;
    2. 将构造函数的作用域赋给新对象(this 指向新对象);
    3. 执行构造函数中的代码(为这个新对象添加属性);
    4. 返回新对象。

    注意:当构造函数return的不是一个对象时,构造函数仍然会根据上述逻辑返回新对象。但是若构造函数返回的是对象,那么构造函数则会返回该对象。new 关键词执行之后总是会返回一个对象,要么是实例对象,要么是 return 语句指定的对象。