从jQuery中学习来的另一种继承方式(技巧)

   遵从Js的原型链规则,利用js灵活的特性灵活地改造原型,可以实现各种创意地继承方式,昨天研究了jQuery,对作者实现继承的方式感到佩服,他对js原型和原型链的理解比较透彻,运用自如。这里给出jQuery的继承实现方式:看下面代码:

          function Cat(){ //空的构造方法,空的原型Cat{}内容
	   
	   }
	  
	   Cat.prototype={
	      name:"Tom"   //给空原型添加一个属性
	   };
	  
	   function a(){     //建造一个构造方法a(),实例化后原型有一个属性值为88
             this.pro="88";
           }

	   a.prototype=Cat.prototype; //将原型Cat{}的内容赋给原型a{}
	   console.log(new a().name); //原型a{}的实例可以访问到原型Cat{}中的属性,为"Tom"
console.log(new a().pro); //原型a{}的实例也可以访问到原型a{}中的属性,为88

  Js的继承说到底就是灵活地改变原型中内容,再说到底就是利用底层的指针机制(不仅仅是原型链关系,比如对象复制指针的变化等等)来灵活地建立数据对应关系。我想有空时好好研究下js底层的指针的工作机制。

posted @ 2016-03-14 15:01  光辉的一角  阅读(464)  评论(0编辑  收藏  举报