继承作为面向对象语言的重要特性,在js中主要是依靠原型链实现的。
下边简单说明一下构造函数、原型对象以及实例间的关系:
每个构造函数都有对应的原型对象(prototype),原型对象中包含一个指向构造函数的指针(constructor),另外还包括一些让实例共享的属性和方法,而实例中包含着指向原型对象的指针(_proto_)。当我们访问对象的属性时,先在基本属性中查找,如果没有时,再沿着_proto_向上查找,这就是原型链。 查看图示:
我们知道所有默认类型都继承了Object对象,而这个继承也是通过原型链实现的。如下图示:
根据以上可以看出,Object是这个原型链的终端,原型链的实现也是通过_proto_实现的。
希望这篇文章能够帮助大家对于原型链有一些简单的了解!
本文介绍了JavaScript中通过原型链实现继承的基本原理。详细解释了构造函数、原型对象及实例之间的关系,并展示了如何通过_proto_指针查找属性。
1187

被折叠的 条评论
为什么被折叠?



