Open
Description
underscore你发现了什么?
js是一种多放式语言,支持面向对象也支持函数式编程
函数式编程
函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)
特征:
-
闭包、高阶函数
闭包就是一个绑定了执行环境的函数。高阶函数可以用另一个函数(间接地,用一个表达式) 作为其输入参数,在某些情况下,它甚至返回一个函数作为其输出参数。这两种结构结合在一起使得可以用优雅的方式进行模块化编程
-
函数是"第一等公民"
指的是函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。
例如:
var print = function(i){ console.log(i);}; [1,2,3].forEach(print);
-
惰性计算
表达式不是在绑定到变量时立即计算,而是在求值程序需要产生表达式的值时进行计算。(underscore中流式)
-
无副作用 纯函数
所谓"副作用"(side effect),指的是函数内部与外部互动(最典型的情况,就是修改全局变量的值),产生运算以外的其他结果。
Java Stream流式编程
函数式编程和链式编程的区别 ???
颗粒度是一个抽象的概念 ??? Vue 2.xxx Object.cearte() 颗粒度小 => 3.xxx proxy 颗粒度大
underscore系列之链式调用
参考:
Metadata
Metadata
Assignees
Labels
No labels