原型与原型链,prototype与__proto__笔记
// function Person (){
// }
// let person = new Person()
// Person.prototype.name="原型名字"
// person.name="实例名字"
// console.log(person.name);
// Object.prototype.name="对象的构造函数中的原型"
// function Person(){
// }
// let person = new Person ()
// console.log(person.name);//对象的构造函数中的原型
//构造函数的原型的原型是对象构造函数的原型
//实例的原型的原型是对象构造函数的原型
// function Person(){
// }
// let person = new Person ()
// console.log(Person.prototype.__proto__==Object.prototype);
//内部其实person没有constructor这个属性,person没有这个属性的话他回去实例的原型中查找。找到Person.prototype中读取,正好原型中有这个属性。
//function Person(){}
//let person = new Person()
//console.log(person.constructor === Person); // true
//其次是 __proto__ ,绝大部分浏览器都支持这个非标准的方法访问原型,然而它并不存在于 Person.prototype 中,实际上,它是来自于 Object.prototype ,与其说是一个属性,不如说是一个 getter/setter,当使用 obj.__proto__ 时,可以理解成返回了 Object.getPrototypeOf(obj)。
博客地址为:https://github.com/mqyqingfeng/Blog/issues/2