javascript中全部对象都有一个隐含属性:constructor,指向构造这个对象的函数;javascript
若是这个对象是函数,那么除了constructor,还有一个隐含属性prototype,由于prototype本身也是一个对象,于是它也有constructor,这个constructor,指向这个函数自己。能够这么说,prototype至关因而一个用这个函数构造出来的一个对象,可是倒是空的(也就是没有执行构造函数自己),用途就是在多个这个构造函数构造出来的对象之间共享一致的属性,这样就能避免内存的浪费html
参考: http://www.xiaoxiaozi.com/tag/javascript/ http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.htmljava