位置:首页 > web前端 > javascript

 javascript工厂模式的介绍与使用

dearweb 发布:2023-03-09 07:57:16阅读:

JavaScript工厂模式是一种创建对象的设计模式,它通过一个工厂函数来创建并返回一个对象,从而隐藏了对象创建的细节。以下是一个JavaScript工厂模式的案例:


假设我们要创建一个汽车制造工厂,工厂可以生产多种型号的汽车,例如轿车、越野车、货车等。我们可以使用工厂模式来创建这些汽车对象,而不需要直接调用构造函数或创建每个对象的实例。代码如下:


// 定义汽车工厂对象
var CarFactory = {
  createCar: function(type) {
    var car;
    
    // 根据传入的参数创建不同类型的汽车对象
    if (type === "SUV") {
      car = new SUV();
    } else if (type === "Sedan") {
      car = new Sedan();
    } else if (type === "Truck") {
      car = new Truck();
    }
    
    // 添加汽车对象的方法
    car.start = function() {
      console.log("Starting " + this.type + "...");
    }
    
    return car;
  }
}

// 定义汽车类型的构造函数
function SUV() {
  this.type = "SUV";
  this.wheels = 4;
}

function Sedan() {
  this.type = "Sedan";
  this.wheels = 4;
}

function Truck() {
  this.type = "Truck";
  this.wheels = 6;
}

// 使用工厂方法创建汽车对象
var myCar = CarFactory.createCar("SUV");
myCar.start(); // 输出:Starting SUV...


在上述代码中,我们创建了一个名为CarFactory的对象,该对象包含一个名为createCar的方法。该方法接受一个字符串参数,该参数指定要创建的汽车类型。然后,我们根据传入的参数类型创建不同类型的汽车对象,并为每个对象添加start方法。最后,我们使用工厂方法创建一个SUV对象,并调用其start方法,输出Starting SUV...。


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看