第一次看到柯里化这个词的时候,还是在看一篇算法相关的博客提到把函数柯里化,那时一看这个词就感觉很高端,实际上当你了解了后才发现其实就是高阶函数的一个特殊用法。 果然是不管作用怎么样都要有个高端的名字才有用。 首先看看柯里化到底是什么? 维基百科上说道:柯里化,英语:Currying(果然是满满的英译 ...
分类:
Web程序 时间:
2020-02-24 11:23:39
阅读次数:
112
JS高阶函数 遍历方法 filter() filter方法检查数组,删除不匹配的元素,返回一个新数组 filter方法内部传入回调函数,回调函数要求必须传入数组的value javascript const arr = [1,2,3,4]; let newArr = arr.map(function ...
分类:
Web程序 时间:
2020-02-17 19:47:23
阅读次数:
103
函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax 但是,如果不需要立刻 ...
分类:
编程语言 时间:
2020-02-16 01:20:12
阅读次数:
78
"1 新旧对比" "2 Lambda表达式" "2.1 递归" "3 方法引用" "3.1 Runnable接口" "3.2 未绑定的方法引用" "3.3 构造函数引用" "4 函数式接口" "4.1 多参数函数式接口" "4.2 缺少基本类型的函数" "5 高阶函数" "6 闭包" "6.1 作为 ...
分类:
编程语言 时间:
2020-02-15 10:08:15
阅读次数:
85
装饰器的原则 1)不修改被修饰函数的源代码; 2)不修改被修饰函数的调用方式; 装饰器的知识点 = 高阶函数 + 函数嵌套 + 闭包 1. 只用高阶函数写装饰器 >有瑕疵 import time def foo(): print('this is foo') # return foo def tim ...
分类:
编程语言 时间:
2020-02-13 12:31:26
阅读次数:
65
1 // 高阶函数 filter/map/reduce 2 3 // filter中的回调函数有一个要求:必须返回一个boolean值, 4 // 当返回true时,函数内部会自动将这次回调的 n 加入到新的数组中 5 // 当返回false时,函数内部会自动过滤掉这次的 n 6 const num ...
分类:
Web程序 时间:
2020-02-12 19:03:36
阅读次数:
72
1 // 高阶函数 filter/map/reduce 2 3 // filter中的回调函数有一个要求:必须返回一个boolean值, 4 // 当返回true时,函数内部会自动将这次回调的 n 加入到新的数组中 5 // 当返回false时,函数内部会自动过滤掉这次的 n 6 const num ...
分类:
其他好文 时间:
2020-02-12 18:32:42
阅读次数:
73
使用高阶函数 filter : 从一个数组中筛选出限定条件的新的数组 form: [ { acount: 10, name: "张一" }, { acount: 2, name: "张二" }, { acount: 23, name: "张三" }, { acount: 42, name: "张四" ...
分类:
其他好文 时间:
2020-02-12 13:08:10
阅读次数:
80
高阶函数是至少满足下列条件之一的函数函数可以作为参数被传递函数可以作为返回值输出(js这么好的语言中的函数当然满足 ^^)_函数作为参数传递把函数当作参数传递,可以抽离出一部分容易变化的业务逻辑,把这部分业务逻辑放在函数中,可以分离业务代码中变与不变的部分。回调函数,ajax异步,callbackv... ...
分类:
其他好文 时间:
2020-02-09 09:47:54
阅读次数:
50
decorator装饰器 什么是装饰器 问题: 定义了一个函数 想在运行时动态增加功能 又不想改变函数本身的代码 解决: 利用高阶函数,接收一个函数并对其进行包装,然后返回一个函数 代码 def f1(x): #被装饰函数 return x * x def new_fn(f): #装饰器函数 def ...
分类:
编程语言 时间:
2020-02-07 18:22:18
阅读次数:
82