函数式编程是:
独立函数——不依赖于程序(里面含有可能更改的全局变量)的状态。
纯函数——相同的输入总是产生相同的输出,不产生副作用(不更改参数值和全局变量值)。
副作用尽量小的函数——对函数之外的程序状态的任何更改都要小心控制。
函数式编程的核心原则之一是不改变事物,更改会导致错误。如果知道函数不会更改任何内容(比如函数参数或全局变量),则可以更容易地防止bug。
下面的例子中,函数就做到了不改变全局变量的要求:
let fixedValue = 4; function incrementer() { let myFixedValue=fixedValue; myFixedValue++; return myFixedValue; } console.log(incrementer());//5 console.log(fixedValue);//4
一些术语:
回调是被传递到另一个函数中以调用该函数的函数。
一级函数是可以赋值给变量、传递给另一个函数、像值一样从其他函数返回的函数,在JavaScript中,所有函数都是一级函数。
高阶函数是将函数作为参数或将函数作为返回值返回的函数。
当函数传入或从另一个函数返回时,传入或返回的那些函数可以称为lambda(即λ)。
。。。
。。。
标签:map,fixedValue,函数,更改,编程,filter,myFixedValue,全局变量 From: https://www.cnblogs.com/168-h/p/16746945.html