柯里化 什么是柯里化 柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 柯里化的基础 上面的代码其实是一个高阶函数(high-order function), 高阶函数是指操作函数的函数, ...
分类:
其他好文 时间:
2016-10-28 20:10:34
阅读次数:
266
1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去, ...
分类:
编程语言 时间:
2016-10-26 07:11:35
阅读次数:
171
Javascript中的高阶函数,是我们在编程中使用的一种重要的函数式编程,它的主要形式有两种。一种是把函数作为参数传递到另外一个函数中(例如:事件监听器),另一种是把函数作为返回值放入另外的函数中(例如:闭包函数)。 把函数作为参数传递的形式: 例:创建10个div并给每一个div中添加相应的数字 ...
分类:
Web程序 时间:
2016-10-23 17:08:50
阅读次数:
262
python高级之装饰器 本节内容 1.高阶函数 高阶函数的定义: 满足下面两个条件之一的函数就是高阶函数: 接受一个或多个函数作为输入参数 输出一个函数 首先理解一个概念:函数名其实也是一个变量,一个函数其实就是一个对象,函数名就是对这个对象的引用。所以函数名也就和一个普通变量一样可以被当做函数的 ...
分类:
编程语言 时间:
2016-10-18 20:28:49
阅读次数:
407
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 1.函数基本语法及特性 函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中 ...
分类:
编程语言 时间:
2016-10-14 17:27:39
阅读次数:
268
JavaScript高阶函数 map reduce filter sort ...
分类:
编程语言 时间:
2016-10-08 16:08:37
阅读次数:
104
一、高阶函数 所谓高阶函数是指可一把函数作为参数,或者是可以将函数作为返回值的函数(我们见得闭包函数就是高阶函数)。 对于程序的编写,高阶函数比普通函数要灵活的多,除了通常意义的函数调用返回外,还形成了一种后续传递风格的结果接收方式,而非单一的返回值形式,后续传递风格的程序编写将函数的业务重点从返回 ...
分类:
其他好文 时间:
2016-10-07 17:46:14
阅读次数:
180
闭包(closure) 闭包的形成与变量的作用域以及变量的生存周期密切相关。 变量的作用域,就是指变量的有效范围。 全局变量和局部变量。 在JavaScript中,函数可以用来创造函数作用域。 变量的生存周期,全局变量的生命周期是永久的,除非我们主动销毁这个全局变量。 对于在函数体内用var关键字声 ...
分类:
编程语言 时间:
2016-10-06 22:51:06
阅读次数:
242
this this总是指向一个对象,有四种情况1. 作为对象的方法调用。2. 作为普通函数调用。3. 构造器调用。4. Function.prototype.call 或Function.prototype.apply 调用。 1. 作为对象的方法调用 当函数作为对象的方法被调用时,this 指向该 ...
分类:
编程语言 时间:
2016-09-30 12:20:40
阅读次数:
232
说起javascript编码的嵌套问题,大多数人会想到由于异步编程导致的回调函数嵌套: 回调函数嵌套的代码不仅难以阅读维护,也难以解耦、扩展。 针对此情况,有多种解决办法,如:ES6的promise特性,eventproxy模块,async模块 现以async模块为例: 可以发现,使用async模块 ...
分类:
其他好文 时间:
2016-09-30 02:33:56
阅读次数:
169