关于函数原型的理解
今天给大家聊聊函数原型?
关于函数原型的理解
1. 原型的含义?
在构造函数创建出来的时候系统会默认的帮构造函数创建且关联一个空对象,这个对象就是原型
原型包含了这个构造函数所有的方法和属性,在原型中的所有属性和方法,都可以被其关联的构造函数创建出来的对象所共享
2. 如何访问原型?
1.构造函数:prototype
2.对象:_ _proto_ _
当一个对象需要调用构造函数的方法时,首先建立起原型链,依据原型链去寻找,首先在对象本身上找,没有则在自己的原型__proto__上去找,如果没有则去构造函数的原型prototype上去找,如果没有则去Object对象上去找,如果再没有,那就Undefined。
一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。
构造函数同时也是一个对象,所以它也有一个__proto__属性,指向它自身的prototype属性,即指向了函数原型。
3. 如何改造原型?
我们可以通过为原型添加方法或属性来改造构造函数,通过原型添加的方法或属性被所有的实例所共享。
通过创建的子对象的__proto__去修改父构造函数的方法,会改变prototype中的方法,不安全的一种形式,因为子类具有了修改父类方法的权利。


浙公网安备 33010602011771号