构造函数的名字 就是这个函数创建出来对象的“类”
1、创建一个空对象
2、用这个空对象去调用构造函数
3、运算结果(调用函数的这个对象)然后赋给f1
new 在干嘛
1、new会创建一个空对象,然后给这个空对象添加一个属性_proto_
2、再用这个包含_proto_属性的对象去调用new 后面的函数
new带参 如果我们加了小括号传了参数,它会帮我们把参数传给构造函数
new无参 如果我们没加小括号传了参数,它也会调用构造函数,但是不会传参
3、表达式的运算结果
构造函数的返回值如果是一个引用数据 结果就是返回值
构造函数的返回值如果不是一个引用数据 结果就是创建并调用过构造函数的那个对象