javascript碎片知识001

javascript中的对象(原型,原型链)

什么是原型?

原型是JavaScript中的继承的基础,JavaScript的继承就是基于原型的继承。
在JavaScript中,创建的函数对象都有一个prototype属性,它指向的就是这个函数的原型对象。而这个原型对象会有一个默认的属性constructor指向这个函数对象。

原型对象的生成

创建一个函数时浏览器会在内存中创建一个对象,这个对象就是这个函数的原型对象。

什么是原型链?

JavaScript中的每个对象都有一个prototype属性,我们称之为原型,而原型的值也是一个对象,因此它也有自己的原型,这样就串联起来了一条原型链,原型链的链头是object,它的prototype比较特殊,值为null。

原型链的作用

JavaScript的继承依赖于原型链。函数A的原型属性(prototype property)是一个对象,当这个函数被用作构造函数来创建实例时,该函数的原型属性将被作为原型赋值给所有对象实例,比如我们新建一个数组,数组的方法便从数组的原型上继承而来。

当访问对象的一个属性时, 首先查找对象本身, 找到则返回; 若未找到, 则继续查找其原型对象的属性(如果还找不到实际上还会沿着原型链向上查找, 直至到根). 只要没有被覆盖的话, 对象原型的属性就能在所有的实例中找到,若整个原型链未找到则返回undefined;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容