javascript理解原型对象、构造函数、实例之间的关系(图解)
其实其中想告诉我们的就是,每一个构造函数中都有一个指针(prototype)指向它的原型对象,每一个原型对象中都有一个指针(constructor)指向它的构造函数,每一个实例对象中都有一个指针(__protot__)指向它的原型对象。2.在原型对象Object.prototype中,有一个指针constructor指向它的构造函数Object,写在原型对象中的是实例属性和实例方法,它可以通过原型
每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,实例都包含一个指向原型对象的内部指针。 ----《JavaScript高级程序设计》
那么,这么理解这句话呢?
其实其中想告诉我们的就是,每一个构造函数中都有一个指针(prototype)指向它的原型对象,每一个原型对象中都有一个指针(constructor)指向它的构造函数,每一个实例对象中都有一个指针(__protot__)指向它的原型对象。
我想,如果光是靠文字的说明还是无法直观的描述他们三者之间的关系的,那么,接下来直接上图
从图中可以清晰地得知:
1.在构造函数Object中有一个prototype指针,它指向了它的原型对象 Object.prototype,写在构造函数中的是静态属性和静态方法,只能由构造函数本身调用。
2.在原型对象Object.prototype中,有一个指针constructor指向它的构造函数Object,写在原型对象中的是实例属性和实例方法,它可以通过原型对象本身调用或者通过实例对象调用。
3.在实例对象中,有一个__proto__指针,指向它的原型对象Object.prototype,实例对象可以调用继承自原型对象的实例属性和实例方法。
更多推荐
所有评论(0)