美文网首页
函数式编程

函数式编程

作者: 玄月府的小妖在debug | 来源:发表于2017-07-24 16:02 被阅读20次

函数式编程全都是关于如何把一个问题分解为一系列函数的。通常,函数会链在一起,互相嵌套, 来回传递,被视作头等公民。
好处:
百度百科 函数式编程

1.纯函数

含义:相同的输入,会得到相同的输出


slice 不会改变数组
splice会改变数组

纯函数和非纯函数对比
纯函数是对数学上的“函数”的真实演绎,就是输入和输出的关系。它们思路简单也便于重用。 由于纯函数是完全独立的,它们更适合被一次又一次地使用。
参考http://www.jb51.net/article/73209.htm

2.高阶函数

高阶函数就是以其它函数为输入,或者返回一个函数为输出的函数。


例如
数组的map,reduce,forEach,filter,sort()

3.链式调用

常见例子
是jQuery直接返回this的方式,underscore的可选式的方式,和lodash惰性求值的方式。
最简单方式

1)返回this

function B(num){this.value=num||0}
B.prototype.add=function(x){
    this.value+=x; 
    return this;}
B.prototype.redu=function(y){
    this.value-=y;
    return this;}
p=new B();
结果
参考http://www.cnblogs.com/tarol/p/5336666.html

3.匿名函数

把函数作为头等对象的另一个好处是匿名函数。
就像名字暗示的那样,匿名函数就是没有名字的函数。实际不止这些。它允许了在现场定义临时逻辑的能力。 通常这带来的好处就是方便:如果一个函数只用一次,没有必要给它浪费一个变量名。
匿名函数例子

Paste_Image.png

高阶函数配合匿名函数

function powersof(x){
  return function(y){
    return Math.pow(x,y);
  }
}
var p=powersof(2);
console.log(p(1))
console.log(p(6))

后期:
柯里化
函数组合

相关文章

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • iOS 函数编程 & 链式编程

    函数式(链式)编程 函数式编程概念 函数式编程是种编程范式 函数式编程 Functional Programmin...

  • 函数式编程(一)—— 前置知识

    为什么要学函数式编程? 什么是函数式编程?函数式编程和面向对象编程的不同对于函数式编程思维方式的理解: 函数式编程...

  • 二十二、函数式编程、面向协议式编程

    函数式编程(Functional Prigramming) 函数式编程 函数式编程(Functional Prig...

  • Python中的函数式编程

    函数式编程 说到函数式编程,我们的重点在于为什么要采用函数式编程,而不是什么是函数式编程。 函数式编程的优点:一、...

  • RxSwift-初探

    函数响应式编程 一:函数式 函数式编程简称FP(Functional Programming),函数式编程就是一种...

  • 《Kotlin入门实战》CH5 | 函数与函数式编程

    函数与函数式编程 函数式编程与命令式编程最大的不同是:函数式编程的焦点在于数据的映射,命令式编程(imperati...

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • RxJava系列|RxJava简介(一)

    函数响应式编程 函数式编程是一种编程范式。 常见的编程范式有:命令式编程、函数式编程和逻辑式编程。 面向对象就是一...

  • 了解C# 函数式编程

    什么是函数式编程 函数式编程是一种编程范式,维基百科对函数式编程定义如下: 函数式编程(英语:functional...

网友评论

      本文标题:函数式编程

      本文链接:https://www.haomeiwen.com/subject/ylonhxtx.html