原型与原型链
- prototype: 显示原型;每个构造函数都有一个prototype原型对象
- _protop_: 隐式原型;每一个对象都有一个隐式原型属性,用来指向它的prototype
- prototype原型对象里的constructor指向构造函数本身原型对象
- 原型链: 实例与原型的链条,在查找实例属性和方法时,如果找不到,会层层向上查找,直到找到对应的属性和方法或找不到为止。
function Person() { }
Person.prototype.name = 'lucy'
let person1 = new Person()
let person2 = new Person()
console.log(person1.__proto__ === person2.__proto__)
console.log(person1.__proto__ === Person.prototype)
console.log(Person.prototype.constructor === Person)
console.log(person1.constructor === Person)
console.log(Person.prototype.__proto__ === Object.prototype)
console.log(Object.prototype.constructor === Object)
console.log(Object.prototype.__proto__)
