重要知识
- 对象.proto === 其构造函数.prototype
- Object.prototype是所有对象的(直接或间接)原型
- 所有函数都是由Function构造的
任何函数.proto === Function.prototype
任何函数包括:Object/Array/Function
- xxx的原型
{name:'frank'}的原型---Object.prototype
[1,2,3]的原型---Array.prototype
Object的原型---Object.prototype - 易混乱的点:[1,2,3]的原型是Array.prototype,但是Object.prototype又是所有对象的原型,那谁才是[1,2,3]的原型呢?
答案是:二者都是。
原型分为:直接原型和间接原型。
对于普通对象来说,Object.prototype是直接原型。对于数组和函数来说,Object.prototype是间接原型。 -
Object.prototype是根对象吗,为什么Function不是万物之源?
对象里边从来都不会包含另一个对象。Function只是创造了存Object.prototype地址的函数。
注意区分Object.prototype地址和Object.prototype对象的区别
网友评论