构造函数

一、初始化一个猫对象

 function Cat(name,color){
    this.name=name;
    this.color=color;
 }

//把那些不变的属性和方法,直接定义在prototype对象上

 

 Cat.prototype.type="猫科动物";

 Cat.prototype.eat=function(){
    alert("吃老鼠");
 }

//生成实例

var cat1=new Cat("大毛","黄色“);

var cat2=new Cat("二毛",”黑色");

alert(cat1.type);//猫科动物

cat1.eat();//吃老鼠

console.log(cat1.eat==cat2.eat);//true

二、初始化一个Phone对象  

<script>
    function Phone(name,size){
      this.name=name;
      this.size=size;
      //方法初始化一次既可,用if语句判断,如果方法undefined,执行一次
      if(typeof this.run=='undefined'){
        Phone.prototype.run=function(){
          alert('具有打电话的功能');
        }
      }
    }
    var phone1=new Phone('手机','5.5');
    console.log(phone1.name);
    phone1.run();
</script>

参考原文:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html

原文地址:https://www.cnblogs.com/rachelch/p/7458306.html