zoukankan      html  css  js  c++  java
  • javascript 用call来继承实例属性

    xxx.call(thisObj, arg1,...)的调用可以改变当前函数的执行环境为传入的thisObj对象。利用这一点可以实现继承————当前的对象获得XXX的属性和方法。

    例子:

    function Animal(){
      this.name= 'animal';
      this.say = function(){
         alert(this.name);
      }  
    }

    Animal.prototype.walk = 'I can walk'; function Duck(){ Animal.call(this);
    /*这样,就实现了凡是有构造函数Duck new处理的对象就会继承Animal上的属性(name)和方法(say)*/
    /*但是Animal的原型上面的属性和方法不会被继承。*/
    /*也就是说通过这种方法只会继承实例属性,而不能继承原型属性。*/

    this.color = 'white'; } var duck = new Duck(); duck.say();//animal

      

  • 相关阅读:
    UVA756
    SP30906
    SP32900
    CF940F
    洛谷P5030
    洛谷P5142
    洛谷P2569
    网络流 24 题做题记录
    矩阵
    二分图
  • 原文地址:https://www.cnblogs.com/oxspirt/p/4543257.html
Copyright © 2011-2022 走看看