构造函数
每个构造函数中都有prototype对象(原型对象) 把共享的对象放在prototype里面,下面所有的实例,不用每个实例单独开辟内存空间,构造函数的原型对象追加方法,
原型是什么,原型是对象 所以称prototype是原型对象,每个构造函数里面都会存在的一个对象,
作用:共享方法! 把公共方法定义到原型对象身上,所有的实例都可以使用该方法,不需要在开辟新的内存空间,比较节约内存资源
一般公共的属性定义到构造函数里面,(因为是简单的数据类型),方法放到原型对象身上,实现方法共享
对象身上,系统自动添加_proto_指向构造函数的protype,所以可以使用原型对象上的方法
constructor指向原来的构造函数
原型链查找,都找不到就是undefind
构造函数中的this和原型对象中的this,指向的都是实例对象。
拓展内置对象:
借用父构造函数继承属性(用call把父构造函数中的this,修改为子构造函数中的this)