美文网首页
构造函数ES5和ES6对比

构造函数ES5和ES6对比

作者: royluck | 来源:发表于2019-01-08 16:33 被阅读0次

    封装:

    1、通过构造函数添加属性和方法(即:通过this定义属性和方法)

    缺点:通过this定义的属性和方法,我们实例化对象的时候斗湖重新复制一份,造成了内存的浪费。

    2、通过原型prototype封装

    注意:对于那些不变的属性和方法,我们可以直接将其添加在类的prototype对象上。
    缺点:实例化的对象的原型都是指向同一内存地址,改动其中一个对象的属性可能会影响到其他的对象

    继承:

    1、类似继承

    其中最核心的是SubClass.prototype = new SuperClass();

    2、构造函数继承

    //声明子类 var SubClass = function(id){ SuperClass.call(this, id) }

    3、组合式继承(上述两继承方式的结合)

    缺点:组合式继承方法固然好,但是会导致一个问题,父类的构造函数会被创建两次(call()的时候一遍,new的时候又一遍)

    4、寄生组合继承

    相关文章

      网友评论

          本文标题:构造函数ES5和ES6对比

          本文链接:https://www.haomeiwen.com/subject/wddvrqtx.html