js设计模式

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("吃饭");

}

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

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,360评论 1 10
  • 1.什么叫做设计模式(基本概念) 在面向对象软件设计过程中,针对问题进行简洁而优雅的一种解决方案 设计模式是在某种...
    Jianshu9527阅读 2,688评论 0 3
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,378评论 2 17
  • 写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。构造函数模式var Person ...
    htkz_117f阅读 1,085评论 0 0
  • 关键词:类,实例,原型 构造函数定义: 构造函数用于创建特定类型的对象——不仅声明了使用的对象,构造函数还可以接受...
    RomainLiu阅读 2,905评论 0 1