JS设计模式-简单工厂模式

javascript 复制代码
function User(name, age, career, work) {
  this.name = name;
  this.age = age;
  this.career = career;
  this.work = work;
}

function Factory(name, age, career) {
  let work;
  switch (career) {
    case "程序员":
      work = ["写逻辑", "写样式"];
      break;
    case "老师":
      work = ["教学生", "带学生"];
      break;
    default:
      break;
  }
  return new User(name, age, career, work);
}

let aaa = Factory("张三", 18, "程序员");//{name: "张三",age: 18,career: "程序员",work:["写逻辑", "写样式"]}
let bbb = Factory("李四", 28, "老师");//{name: "李四",age: 28,career: "老师",work:["教学生", "带学生"]}
console.log(aaa, bbb);
相关推荐
开开心心_Every9 小时前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
liu****1 天前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节
草莓熊Lotso1 天前
《算法闯关指南:优选算法--位运算》--38.消失的两个数字
服务器·c++·算法·1024程序员节
unable code2 天前
攻防世界-Misc-can_has_stdio?
网络安全·ctf·misc·1024程序员节
思茂信息2 天前
CST License(Flexnet)设置与问题处理方法
服务器·网络·单片机·3d·php·1024程序员节·cst
2301_797892832 天前
论文阅读:《Hypergraph Motif Representation Learning》
论文阅读·1024程序员节
CoderYanger3 天前
前端基础——CSS练习项目:百度热榜实现
开发语言·前端·css·百度·html·1024程序员节
liu****3 天前
13.POSIX信号量
linux·开发语言·c++·算法·1024程序员节
liu****3 天前
12.线程同步与互斥
linux·数据结构·c++·算法·1024程序员节
CoderJia程序员甲3 天前
GitHub 热榜项目 - 日榜(2025-11-08)
ai·开源·github·1024程序员节·ai教程