博主学JavaScript可以说,对于Prototype一直头疼。以下是个人看法,可能不是很正确。积吸取意见。参考资料《你所不知道的JavaScript上卷》。
function Foo(){}
当你定义这么一个函数的时候。很多时候在JavaScript称为定义一个类。为什么?
此时默认都有一个名为prototype的公有并且不可枚举的属性 。即表示为Function.Prototype,值是{}
现在它什么都没有 ,但是
var a = new Foo();
创建了一个对象之后,那么a的内部有一个[[Prototype]]指向(或者说关联) Function.Prototype
即 Object.getPrototypeOf(a) ===Foo.prototype // true