javascript原型、原型链?有什么特点
每个函数都有一个==prototype==属性,函数的prototype属性指向了一个对象,这个对象正是调用该构造函数而创建的实例原型
那么什么是原型呢?你可以这样理解:每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型”继承”属性。
这是每一个javaScript对象(除了null)都具有的一个属性,叫proto,这个属性会指向该对象的原型。
原型链解决的主要是继承问题。
每个对象拥有一个原型对象,通过proto指针指向其原型对象,并从中继承方法和属性,同时原型对象也可能拥有原型,一样一层一层,最终指向null(Object.prototype.proto指向的是null)。
这种关系被称为原型链(prototype chain),通过原型链一个对象拥有定义在其他对象中的属性和方法。
1 | function Person() { |
1 | function Person() { |
1 | function Person() { |