面向对象与原型2

1.基础的原型认识:我们创建的每个函数都有一个prototyoe属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法。逻辑上可以这么理解:prototype通过调用构造函数而创建的那个对象的原型对象。另外要说的_proto_是指向原型属性constructor的。

2.原型的好处:可以让所有对象实例共享它所包含的属性和方法,也就是说,不必在构造函数中定义对象信息,可直接将这些信息添加到原型中。

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.原型里需要注意一点:原型里的方法的引用地址是一致的,但是方法是不一样的,即:

pro1.run()!=pro2.run();//假如有pro2的情况下
pro1.run==pro2.run;

 5.为了更好的封装效果,原型的创建也可以这样写:

function Pro(){}
Pro.prototype={      //使用字面量的方式创建
    name:'Lee',
    age:100, 
    run:function(){
         return this.name+this.age;
   }
}

 

posted @ 2017-11-25 16:40  winpin  阅读(198)  评论(0编辑  收藏  举报