1.概念:每个对象在创建时都会关联另一个对象(即原型),对象继承原型中的属性。
2.函数都有prototype属性,指向原型;
3.实例都有__proto__属性,指向原型;
4.原型都有constructor属性,指向构造函数;
5.因为实例继承原型中的属性,所以实例继承了原型中的constructor属性,指向构造函数。
6原型是对象,所以原型也有原型,但是Object.prototype.__proto__ === null
例:
function Person() {}
var person = new Person();
console.log(Person.prototype);
console.log(person.__proto__); //===Person.prototype
console.log(Person.prototype.constructor); //===Person
console.log(person.constructor); //===Person
console.log(Object.prototype.__proto__); //===null