构造函数规则
1.调用的时候必须和new连用
2. 内部不能写return:
1. return基本数据类型,return无效
2. return复杂数据类型,构造函数无效(内部定义变量和方法无效)
3.构造函数首字母大写以区别普通函数
prototype
每一个函数天生自带一个属性,叫prototype(原型),他是一个对象,在里面写方法是为了给多个对象共享使用的。
每一个prototype里带有一个constructer(构造器),表示是哪一个构造函数伴生的原型对象,用来判断数据类型。
_proto_
每一个对象天生带有一个属性,叫_proto_,指向所属构造函数的prototype;
访问一个对象成员的时候,如果对象本身有就返回对象自身的成员,否则返回_proto_上的。
构造函数体内的this和构造函数原型上的方法里面的This都指向当前实例。
任何一个对象开始出发,按照_proto_寻找,最终都能找到object.prototype,有_proto_串联起来的链状结构叫原型链。原型链为对象访问机制服务