__proto__
is the actual object that is used in the lookup chain to resolve methods, etc.
__proto__是解决对象原型链间的问题
prototype
is the object that is used to build __proto__
when you create an object with new
:
prototype 当你创建新的对象,用于建立__proto__对象
记住三句话:
当 new 一个函数的时候会创建一个对象,『函数.prototype』 等于 『被创建对象.__proto__』
一切函数都是由 Function 这个函数创建的,所以『Function.prototype === 被创建的函数.__proto__』
一切函数的原型对象都是由 Object 这个函数创建的,所以『Object.prototype === 一切函数.prototype.__proto__』
三句话结合上面 __proto__ 与 prototype 就可以很好的理解了. 如下图所示
相关介绍 地址信息