一、关于实例化
function Father() {
this.name = 'father'
}
var son = new Father();
console.log(son.__proto__ === Father.prototype) // true
1、只有函数有prototype,用于它的子类 继承该函数的原型方法;
2、son为Father的实例,类型为对象,不是函数。所以son只有__proto__, 没有prototype。
3、new 的过程:
(1)创建一个新对象;
(2) 新对象的私有属性__proto__ 指向 Father 的prototype;
(3)执行构造函数中的代码(为这个新对象添加属性);
(4)返回新对象。