1.基础的原型认识:咱们建立的每一个函数都有一个prototyoe属性,这个属性是一个对象,它的用途是包含能够由特定类型的全部实例共享的属性和方法。逻辑上能够这么理解:prototype经过调用构造函数而建立的那个对象的原型对象。另外要说的_proto_是指向原型属性constructor的。javascript
2.原型的好处:能够让全部对象实例共享它所包含的属性和方法,也就是说,没必要在构造函数中定义对象信息,可直接将这些信息添加到原型中。java
3.原型示例:函数
//原型 function Pro(){} //先声明一个构造函数 //在原型里添加属性和方法 Pro.prototype.name='Lee'; Pro.prototype.age=100; Pro.prototype.run=function(){ return this.name+this.age; } //打印结果 var pro1=new Pro(); alert(pro1.run());
4.原型里须要注意一点:原型里的方法的引用地址是一致的,可是方法是不同的,即:this
pro1.run()!=pro2.run();//假若有pro2的状况下 pro1.run==pro2.run;
5.为了更好的封装效果,原型的建立也能够这样写:prototype
function Pro(){} Pro.prototype={ //使用字面量的方式建立 name:'Lee', age:100, run:function(){ return this.name+this.age; } }