下图是自己总结的构造函数、原型、实例关系
总结:
- 构造函数的prototype指向其原型对象
- 原型对象的constructor指向其构造函数
- 使用new关键字实例化构造函数
- 实例化对象的
__proto__
指向其原始的原型对象。
总的来说:
所有的对象都是Object的实例;所有的函数都是Function的实例。
下面这段话是在一个帖子的回答下面看到的
原贴地址:http://www.imooc.com/wenda/detail/522581
从 JS 的视角看,在JS宿主(浏览器、NodeJS)创建世界之初,天地一片混沌(划掉),JS的世界里没有任何对象。第一个被捏出来的对象,是 Object.prototype,紧接着根据 Object.prototype 为原型,宿主创建了 Function.prototype, Array.prototype 等一系列类型原型对象,这些 prototype 是构造内置对象的模子。接着这才开始用 Function.prototype 构造出 Object、Function、Number、Array 和 Object.prototype.valueOf、Array.prototype.forEach 等一系列的 function 。
每天进步一点点