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; } }