面向對象與原型2

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;
   }
}
相關文章
相關標籤/搜索