function Person(name){
this.name = name
}
Person.prototype.sayName = function(){
console.log(this===me)
console.log(this.__proto__===Person.prototype)
return this.name
}
var me = new Person('FantasyGao')
var obj = {}
me.sayName()
console.log(me.constructor===Person)
console.log(me.__proto__.constructor===Person)
console.log(obj.constructor===Object)
console.log(obj.__proto__.constructor===Object)
console.log(Person.constructor===Function)
console.log(Person.__proto__.__proto__.constructor===Object)
console.log(Person.__proto__.constructor===Function)
console.log(Function.constructor===Function)
console.log(Function.__proto__.constructor===Function)
console.log(Object.constructor===Function)
console.log(Object.__proto__.constructor===Function)
console.log(me.__proto__===Person.prototype)
console.log(obj.__proto__===Object.prototype)
console.log(Person.__proto__===Function.prototype)
console.log(Object.__proto__===Function.prototype)
console.log(Function.__proto__===Function.prototype)
console.log(Function.prototype.__proto__===Object.prototype)
console.log(me.__proto__.__proto__===Person.__proto__.__proto__)
console.log(me.__proto__.__proto__===obj.__proto__)
console.log(Function.prototype.__proto__.__proto__===null)
console.log(Person.__proto__.__proto__.__proto__===null)
console.log(Object.prototype.__proto__===null)
console.log(me.__proto__.__proto__.__proto__===null)
console.log(obj.__proto__.__proto__===null)
console.log(me.prototype)
console.log(obj.prototype)
console.log(Person.__proto__.prototype)
console.log(me.__proto__.prototype)
console.log(me.__proto__.__proto__.prototype)
console.log(typeof me)
console.log(typeof obj)
console.log(typeof Person)
console.log(typeof me.__proto__)
console.log(typeof obj.__proto__)
console.log(typeof Person.__proto__)
console.log(typeof Function.__proto__)
console.log(typeof Object.__proto__)