JavaScript 原型:
JavaScript 是一种通过原型实现继承的语言与别的高级语言是有区别的,像 java,C#是通
过类型决定继承关系的,JavaScript 是的动态的弱类型语言,总之可以认为 JavaScript 中所有
都是对象,在 JavaScript 中,原型也是一个对象,通过原型可以实现对象的属性继承,
JavaScript
的对象中都包含了一个” prototype”内部属性,这个属性所对应的就是该对象的原型
“prototype”作为对象的内部属性,是不能被直接访问的。所以为了方便查看一个对象的原
型,Firefox 和 Chrome 内核的 JavaScript 引擎中提供了”proto“这个非标准的访问器(ECMA 新
标准中引入了标准对象原型访问器”Object.getPrototype(object)”)
原型的主要作用就是为了实现继承与扩展对象
原型链:
当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去
prototype 里找这个属性,这个 prototype 又会有自己的 prototype,于是就这样一直找下去,
也就是我们平时所说的原型链的概念
特点:
JavaScript 对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己
的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变