你好,你可以这样理解,函数式编程它不修改状态,因此函数式编程只是返回新的值,不修改系统变量。函数式编程思想是把运算过程尽量写成一系列嵌套的函数调用。
它主要是通过闭包和高阶函数等来进行编程,属于面向过程编程,强调通过函数,而不是语句来编程。
前端电子书|用函数式编程技术编写优美的JavaScript免费下载
链接: https://pan.baidu.com/s/1HU_FHuhpr5ASklFHlN74-Q
提取码: fcfa内容简介
JavaScript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍JavaScript函数式编程的特性。全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多函数式JavaScript。本书内容全面,示例丰富,适合想要了解函数式编程的JavaScript程序员和学习JavaScript的函数式程序员阅读。
匿名函数在声明时不用带上函数名, 可以把匿名函数当作一个function类型的值来对待声明一个普通的函数 function func() { ... } 可以认为和var func = function() { ... }相同, 但是普通函数会自动把函数名"提到"作用域的最前面, 基本上普通函数和匿名函数就只有这一个区别
function xxx() {
foo()//foo被提到了作用域的最前面, 于是这里可以正常调用foo函数
bar()//这里会报错bar是个undefined
function foo(){}
var bar = function(){}
}