创建对象常用的四种方式Ⅱ

工厂模式

前面提到了字面量方式和new的方式
下面来说一下它们的弊端

var person1 = {
  name:"Eason",
  age:18,
  say:function(){
    console.log("my name is"+this.name+"my age is"+this.age);
  }
}
var person1 = {
  name:"Jack",
  age:9,
  say:function(){
    console.log("my name is"+this.name+"my age is"+this.age);
  }
}

上面可以看出上面两端代码有大量重复内容,所以它们的缺点是:
使用字面量和new创建多个相同属性和方法的对象时,会产生大量的重复代码

工厂模式就是封装成一个对象函数
function createPerson(name,age){
  var obj = new Object(); // [原料]
  obj.name = name; //name 等于传进来的 name [加工]
  obj.age = age; //age 等于传进来的 age [加工]
  obj.say = function(){ //  [加工]
    console.log("my name is"+this.name+"my age is"+this.age);
  }
   return obj; // [出厂]
}
var p1 = createPerson("Eason",18);
var p2 = createPerson("Jack",9);
// 执行一下函数
p1.say(); //my name is Eason my age is 18
p2.say(); //my name is Jack my age is 9

工厂模式优点:
将重复的代码封装,可以快速批量的创建对象

6559823-128f095c06eeb019.png
我是一条分割线

以上工厂模式就先讲这么多,下篇来学习最后一种方式 =>【构造函数】

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值