zoukankan      html  css  js  c++  java
  • javascript高级知识点——继承

    代码信息来自于http://ejohn.org/apps/learn/。

    继承是如何工作的

    function Person(){} function Ninja(){} 
     
    Ninja.prototype = new Person(); 
     
    var ninja = new Ninja(); 
    console.log( ninja instanceof Ninja, "ninja自动接收Ninja.prototype里的属性" ); 
    console.log( ninja instanceof Person, "也是来自Person.prototype" ); 
    console.log( ninja instanceof Object, "也是来自and the Object prototype" );

    本例可以很好表明继承机制和原型链。根本原理是实例化继承构造函数的原型,它使用__proto__访问上级。ninja继承Ninja,Ninja就是new Person(),继承Person.prototype,而Person.prototype,继承自最根本的Object.prototype。

    构建我们自己的继承

    function Person(){} 
    Person.prototype.getName = function(){ 
      return this.name; 
    }; 
     
    function Me(){ 
      this.name = "John Resig"; 
    } 
    Me.prototype = new Person(); 
     
    var me = new Me(); 
    console.log( me.getName());

    me对象属性 = 实例化时自己的属性 + Me.prototype的属性 +Object.prototype的属性。

    所以这个me对象拥有自己的name属性,getName函数。

  • 相关阅读:
    【宁夏区域赛】G.Pot!
    【C#】上机实验二
    【C#】上机实验三
    Luogu P1437 敲砖块
    Luogu P1463 反素数
    Luogu P1445 樱花
    GHOJ 926 小X的AK计划
    【题解】Beads
    【题解】Antisymmetry
    【题解】A Horrible Poem
  • 原文地址:https://www.cnblogs.com/winderby/p/4074154.html
Copyright © 2011-2022 走看看