美文网首页
js中的构造函数模式, 原型模式和寄生构造函数模式

js中的构造函数模式, 原型模式和寄生构造函数模式

作者: 寒枫Alex | 来源:发表于2017-05-07 05:12 被阅读0次

1. 构造函数模式

function Foo(arg) {
    this.xxx = arg;
    this.xxx = xxx;
} 

构造函数模式的函数体在每次new对象的时候都会执行一遍. new的话, 会自身创建一个作用域, 里面的this指向这个, 若是没有new, 直接执行, 那this得根据具体执行上下文确定. 这种方法会导致方法具有多个实例, 浪费内存.

2. 原型模式

function Foo() {
}

Foo.prototype = {
    xxx: xxx,
    xxx: xxx
}

原型模式相对于构造模式来说是没有构造参数的. 而且这种方法不具有实例私有的属性.

3. 构造函数模式和原型模式两者适用范围与组合使用

最好两者结合适用, 构造函数模式负责创建实例属性, 原型模式负责创建方法和共享的属性, 这样能最大限度节省内存.

4. 寄生构造函数模式

这种方法说白了就是在构造函数模式上寄生了原型模式, 通过判断是否已存在某个原型属性, 来判断是否需要执行原型初始化.

function Person(name) {
    this.name = name;
   if(typeof this.sayName != 'function') {
       Person.prototype.sayName = function () {
            alert(this.name);
       } 
   } 
}

相关文章

  • 前端面试题总结【37】:javascript对象的几种创建方式

    工厂模式 构造函数模式 原型模式 混合构造函数和原型模式 动态原型模式 寄生构造函数模式 稳妥构造函数模式 推荐:...

  • 构造函数-js-高级程序设计-第六章笔记

    前言 理解对象 创建对象构造函数模式原型模式组合使用构造函数模式和原型模式动态原型模式寄生构造函数模式稳妥构造函数...

  • JavaScript创建对象

    JavaScript中创建对象有以下七种方式: 工厂模式构造函数模式原型模式构造函数和原型组合模式动态原型模式寄生...

  • js面向对象设计模式

    1、工厂模式 2、构造函数模式 3、原型模式 4、组合使用构造函数模式和原型模式 5、动态原型模式 6、寄生构造函...

  • Js创建对象的几种模式

    Js创建对象的几种模式 工厂模式 构造函数模式 原型模式 组合使用构造函数模式和原型模式 动态原型模式 稳妥构造函数模式

  • js最常用的创建对象和继承方法

    对象创建方法有很多种:工厂模式、构造函数模式、原型模式,动态原型模式、寄生构造函数模式、稳妥构造函数模式……继承的...

  • 创建对象模式

    1.工厂模式 2.构造函数模式 3.原型模式 4.组合使用构造函数模式和原型模式 5.动态原型模式 6.寄生构造函数模式

  • JavaScript 面向对象

    单个对象 创建自定义对象 创建对象字面量 变体 工厂模式 构造函数模式 原型模式 构造函数模式+原型模式 寄生构造模式

  • 设计模式

    构造函数模式 混合模式 混合模式就是构造函数模式和原型模式的混合,在混合模式中,构造函数用于定义实例属性,而原型模...

  • 对象的创建与继承

    创建对象 工厂模式 => 构造函数模式 => 原型对象模式 => 构造函数模式+原型对象模式 工厂模式 构造函数模...

网友评论

      本文标题:js中的构造函数模式, 原型模式和寄生构造函数模式

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