【JS】js的面向对向的升级

第一丶JS的构造函数

function Bird(){     //这等于声明了一个构造函数

  this.age=19;

  this.show=function(){

  }//这等于在构造函数里面声明一个show方法

//如果这个构造函数里面没有return,则这个构函数默认是返回this

//如果这个构造函数里面有return那么这个构造函数里面定义的属性是方法就失效了就会变得没有卵用了

 // return{

 //   demo:123

 // };  

}

var a=new Bird();//去执行构造函数

console.log(a.age)//结果为:19

console.log(a.show())

 

 

第二丶让所有的对象的方法封装到构造函数的原形里面去

function Cat(){

}

Cat.prototype.show=function(){  //给Cat函数的原形添加方法

  console.log(this.age)

}

 

给函数原形添加方法的第二种方式:

function Cat(option){

  this._init(option);

}

Cat.prototype={     //这个函数的原形直接等于这个对象

  _init:function(option){

    this.age=option.age || ' ' ;

  },show:function(){

  console.log(this.age)

  }

}

var  cat=new Cat({age:19});

 

posted @ 2017-08-11 16:29  丰study  阅读(97)  评论(0)    收藏  举报