文档章节

Factory Functions in Javascript

p
 pengqinmm
发布于 2016/09/11 12:35
字数 146
阅读 8
收藏 0

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

本文转载自:

上一篇: CSS Counters
下一篇: ES6 CheatSheet
p
粉丝 1
博文 62
码字总数 34998
作品 0
西安
程序员
私信 提问
Angular model objects with JavaScript classes

Angular model objects with JavaScript classes The missing piece in AngularJS Unlike Backbone and Ember, AngularJS does not provide a standardized way to define model objects. Th......

Finley.Hamilton
2014/10/13
65
0
JQuery 的各种初始化方法

JQuery是web前端的常用技术,在前端开发、甚至php、Java、python等web开发中,我们经常需要用到这门技术。因此jQuery是web开发中,非常重要的一个技术,也是初学者必须掌握的一个技术。今天小...

小麦麦子
2015/07/17
2.9K
0
Excel 开始支持使用 JavaScript 编写自定义函数

0. 概述 微软为 Excel 增加了使用 JavaScript 编写自定义函数的支持。 1. 示例 比如一个功能:两数之和加 : 我们可以使用 JavaScript 编写: 然后就像使用其它 Excel 内置函数一样,这样调用...

justjavac
2018/05/09
0
0
require引入pnotify插件,插件代码不执行

一般引入 可以出效果的 使用requirejs 在页面底部 require配置 var config={ baseUrl: '/dome/js', paths: { jquery: 'jquery.min', pnotify:'pnotify.custom' } } 这是mainjs部分代码 requ......

沧颜
2016/07/19
165
0
require引入pNotify插件没效果

一般引入 可以出效果的 使用requirejs 在页面底部 require配置 var config={ baseUrl: '/dome/js', paths: { jquery: 'jquery.min', pnotify:'pnotify.custom' } } 这是mainjs部分代码 requ......

沧颜
2016/07/19
272
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部