关于原型(prototype)

73 阅读1分钟

js原型:每个对象都会在其内部初始化一个属性,就是prototype(原型)属性,这个属性所对应的就是该对象的原型,原型也是一个对象,通过原型实现对象的属性继承。原型的主要作用就是为了实现继承与扩展对象。

与java,c#等通过类型决定继承关系的强类型语言不同,javaScript是动态的弱类型语言,它通过原型实现继承。

原型链

当我们访问一个对象的属性时,如果其内部不存在这个属性,那么会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,即我们平常所说的原型链的概念。

特点:js对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变。