zoukankan      html  css  js  c++  java
  • js中属性和方法的继承

    function A(){

      this.abc = 12;

    }

    A.prototype.show = function(){

      alert(this.abc)

    }

    //继承A的属性

    function B(){

      //this ->new B()

      A.call(this)   //重点是 call()这个函数

    }

    //继承A的方法

    B.prototype = A.prototype ?

    这样写其实是错的。因为这样其实是引用类型,指向的是同一个地址,比如:

    B.prototype.hide = function(){

      alert(456)

    }

    var objA = new A();

    var objB = new B();

    objA.hide() //456

    为了解决这个问题也很简单

    for(var i in A.prototype){

      B.prototype[i] = A.prototype[i]   //这样就完成了A的方法的继承,同时又可以添加自己的方法

    }

  • 相关阅读:
    vijos 1379 字符串的展开
    BZOJ 4597 随机序列
    BZOJ 2303 方格染色
    BZOJ 2654 tree
    BZOJ 4198 荷马史诗
    BZOJ 1555 KD之死
    不重复数字
    Rails
    Train Problem I
    Key Set HDU
  • 原文地址:https://www.cnblogs.com/leo666/p/5677764.html
Copyright © 2011-2022 走看看