[笔记] js原型链

js原型链中的object.__proto__ 和object.prototype的区别

1)每一个对象都有.__proto__属性
2)每一个构造函数(函数也是对象,但对象不必定是函数)都具备.prototype属性(prototype是构造函数独有的属性)
3)每一个对象的__proto__指向自身构造函数的prototypehtml

一、函数的例子 函数

clipboard.png

clipboard.png

clipboard.png

clipboard.png
说实话被绕得好晕[笑哭!]spa

clipboard.png

clipboard.png

二、对象的例子prototype

clipboard.png

clipboard.png

本文是照着http://www.cnblogs.com/libin-...这上面的讲解,验证了一下,加深本身对原型链的理解。自身理解不深,有答案说.__proto__===.constructor.prototype是不对的,若是一个对象时经过Object.create函数构造出来的,那其.__proto__就不必定指向.constructor.prototype了。code

clipboard.png
不知真假,因此特地试了一下,出现这样的缘由是person2的原型对象指向的是person1htm

person1.isPrototypeOf(person2);  //true
相关文章
相关标签/搜索