Factory Functions in Javascript

本文深入探讨了工厂函数在JavaScript中的应用,包括无参、带参、组合及异步工厂函数等不同形式,并通过实例展示了如何创建及使用这些函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 什么是Factory Functions?

当一个函数,返回值为对象,称之为‘工厂函数’

2 Parameterized Factory Functions(带参数的工厂函数)

function createIceCream(flavour='Vanilla') {
  return {
    type: 'icecream',
    scoops: 3,
    flavour
  }
}

3 Composable Factory Functions(功能组合的工厂函数)


function createTrifle() {
  return {
    type: 'trifle',
    layers: [
      createJelly(),
      createCustard(),
      createCream()
    ],
    topping: createAlmonds()
  };
}

4 Async Factory Functions(异步工厂函数)

function getMeal(menuUrl) {
  return fetch(menuUrl)
    .then(result => result.json())
    .then(json => createMeal(json));
}

function createMeal(courses=[]) {
  return {
    type: 'meal',
    courses
  };
}

5 函数和方法

function createJelly() {
  return {
    type: 'jelly',
    colour: 'red'
    scoops: 3
  };
}


function eat(jelly) {
  if(jelly.scoops > 0) {
    return { ...jelly, scoops: jelly.scoops - 1 };
  } else {
    return jelly;
  }
}


createJelly().eat();

 

参考文献:https://www.sitepoint.com/factory-functions-javascript/?utm_source=javascriptweekly&utm_medium=email

转载于:https://my.oschina.net/u/2510955/blog/745386

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值