美文网首页
js设计模式

js设计模式

作者: 剁剁爷 | 来源:发表于2017-02-14 14:37 被阅读0次

    1.工厂模式 =》混合模式(构造模式+原型模式)

    工厂模式类似于工厂做很多的产品,产品的功能类似。

    1)工厂模式基本结构如下:

    var factory = function() {

         var product = {};

          product.phone = "ipone 7";

          product.reader = "kidle";

          return product;

    }

    以上就是工厂模式,返回是某个工厂下的产品类。

    但是该模式不能很好地表现出产品类的拥有者是谁,返回结果都是对象.

    2)构造模式

    与工厂模式对比,构造模式有以下优点:

    1. 没有return

    2.能体验拥有者

    3.new实例化

    var people = function() {

    this.name = "吕剑锋";

    this.friend = "曹长春";

    this.walk = function() {

    console.log("走路");

    }

    }

    构造模式每次实例化,调的walk方法都一样,但是每次实例化都重新创建方法,占用内存空间。

    3)原型模式

    与构造模式相比,原型模式实现了方法共享

    var people = function() {

    }

    people.prototype.name = "吕剑锋";

    people.prototype.friend = "曹长春";

    people.prototype.walk = function() { console.log("走路")}

    但是这种模式,所有的对象和属性都是共享的,一旦引用发生改变,所有的属性也跟着改变。

    4)混合模式(构造模式+原型模式)

    为了解决原型模式下的共享问题,我们使用了构造模式和原型模式混合使用

    var people = function() {

    this.name = "吕剑锋";

    this.friend = "曹长春";

    }

    people.prototype.eat = function() {

    console.log("吃饭");

    }

    相关文章

      网友评论

          本文标题:js设计模式

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