JavaScript继承圣杯模式

Posted 今晚打老虎(-0_0-)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript继承圣杯模式相关的知识,希望对你有一定的参考价值。

<script>
    
    function inherit(Target, Origin){
      var F = function(){};
      F.prototype = Origin.prototype;
      Target.prototype = new F();
    // son.__proto__  -->  new F().__proto__  -->  Father.__proto__
      Target.prototype.constructor = Target;
      //构造出的对象, 能找到自己的超类,超级父级 (究竟继承自谁)
      Target.prototype.uber =  Origin.prototype;
    }
 
    inherit(Son,Father);
 
    Father.prototype.name = "zhang";
 
    function Father(){};
    function Son(){};
 
    var son = new Son();
    var father = new Father();
 
  </script>
 
 
  雅虎将此方法封装到YUI3库
  var inherit = (function(){
    var F = function(){};
    return function(Target, Origin){
      F.prototype = Origin.prototype;  
          Target.prototype = new F();
          Target.prototype.constructor = Target;
          Target.prototype.uber =  Origin.prototype;
    }
  }());

 

以上是关于JavaScript继承圣杯模式的主要内容,如果未能解决你的问题,请参考以下文章

JS中的圣杯模式

JS 构造|原型|原型链|继承(圣杯模式)|ES6类语法上篇

JavaScrip继承图文总结

明白JavaScript原型链和JavaScrip继承

JavaScript继承的几种实现

js继承模式命名空间对象枚举