o基础展示 codepen
什么是原型?函数的一个名叫prototype的属性,值是一个对象{} .
什么是原型链?对象上的proto属性组成的链条,值是一个对象{} .
如果原型与原型链容易混淆,不如以后直接就叫它prototype与 proto .
_proto 前后有两个抵杠有点像两条链子,访问当前对象的属性时,如果没有在它里面找到这个属性, 然后就会在当前对象的proto中查找,以此往上查找,找到会返回属性,没找到返回_undefined.
_
对象的proto__保存着该对象的构造函数的prototype,代码示例
//伪代码person.__proto__ === Person.prototype
//构造函数Testfunction Test(){};//构造函数上的prototype属性console.log(Test.prototype);//构造函数生成的test对象const test = new Test();//test对象的__proto__属性console.log(test.__proto__);//构造函数的prototype 等于 生成的对象的__proto__console.log(Test.prototype === test.__proto__);//prototype也是对象所以也有__proto__console.log(Test.prototype.__proto__ === Object.prototype);//Object的prototype上的__proto__为nullconsole.log(Object.prototype.__proto__);
用一张图表示,图片来自网络

todo…
