函数的继承

//父类
    function Fclass(name,age) {
        this.name = name;
        this.age = age;
    }
    //放在原型上所有新的实例可以共有这个函数
    Fclass.prototype.showName = function () {
        alert(this.name);
    };
    Fclass.prototype.showAge = function () {
        alert(this.age);
    };
    //子类
    function Sclass(name,age,job) {
        //如果js想要实现继承的话,就要调用父类call方法,把this传进去
        //属性的继承
        //  Fclass.apply(this,[name,age]);
        Fclass.call(this,name,age);
        this.job = job
    }
    //方法的继承
    Sclass.prototype = new Fclass();
    Sclass.prototype.showJob = function () {
        alert(this.job);
    };
    var chile = new Sclass('Jack',18,'老司机');
    chile.showName();

如果js想要实现继承的话,就要调用父类call方法,把this传进去

call和apply

//call和apply
    //二者都可以改变当前的this,区别在于apply方法要将参数放入数组中在传参
    function aa(a,b) {
        alert('我的this是' + this + ',我的a是' + a + ',我的b是' + b);
    }
    aa.call('abc',2,3);
    aa.apply('abc',[2,3]);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /父类 function Fclass(name,age) { this.name = name; ...
    宠着我家刘蕊阅读 1,280评论 0 0
  • 如果js想要实现继承的话,就要调用父类call方法,把this传进去 call和apply 二者都可以改变当前的t...
    沦陷_99999阅读 4,035评论 0 0
  • 如果js想要实现继承的话,就要调用父类call方法,把this传进去 call和apply 二者都可以改变当前的t...
    优秀的人A阅读 3,229评论 0 0
  • 1. 包装对象 非空对象可以添加属性或者方法 但是基本数据类型也有自身的方法和属性,这些属性是如何调用的呢? 当尝...
    ErrorCode233阅读 3,587评论 0 0
  • 快乐与生气并存 最近一段时间,我感觉到自己的课堂发生了一些变化。无论从教学的组织上,还是师...
    大雁南飞阅读 4,149评论 2 3