高阶函数 数学概念:y = f(g(x)) 高阶函数满足条件: 输出一个函数 接收一个或多个函数作为参数 示例 #调用后返回值为函数 def foo1(): def add(x,y): return x+y return add #调用时接受一个或者多个函数 def foo2(add): y = a ...
分类:
其他好文 时间:
2020-05-20 20:21:18
阅读次数:
60
在某些业务场景会频繁触发事件,如果不想频繁触发 这时候就需要用到函数节流和函数防抖了。 如果频繁用到 且还有去重 深浅拷贝 柯里化 推荐Lodash(https://www.lodashjs.com/) //防抖函数(函数名,时间,是否立即实行) function debounce(func, wa ...
分类:
其他好文 时间:
2020-04-29 14:43:50
阅读次数:
43
对于一个函数: function add(a,b,c){ return a + b + c } 我们希望实现一个效果,我们希望有另外一个函数curryingAdd,使得curryingAdd(1,2,3),curryingAdd(1,2)(3),curryingAdd(1)(2,3)和add(1,2 ...
分类:
其他好文 时间:
2020-04-16 13:00:13
阅读次数:
62
// 实现一个add方法,使计算结果能够满足如下预期: // add(1)(2)(3) = 6; // add(1, 2, 3)= 6; // add(1)(2,3)= 6; function add(){ var _args = Array.prototype.slice.apply(argume ...
分类:
其他好文 时间:
2020-03-31 14:13:50
阅读次数:
199
https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ch4.html#%E4%B8%8D%E4%BB%85%E4%BB%85%E6%98%AF%E5%8F%8C%E5%85%B3%E8%AF%AD%E5%92%96% ...
分类:
其他好文 时间:
2020-03-23 20:23:36
阅读次数:
64
函数柯里化 理解: 指的是将一个接受多个参数的函数 变为 接受一个参数返回一个函数的固定形式,这样便于再次调用,例如f(1)(2) 例如 常见的add函数 当前的柯里化curry接收一个函数,并且返回一个函数用于处理剩下的参数,因此可以连续两次调用,即curr(add,10)(20) 返回30 难度 ...
分类:
Web程序 时间:
2020-03-06 13:43:14
阅读次数:
92
第一次看到柯里化这个词的时候,还是在看一篇算法相关的博客提到把函数柯里化,那时一看这个词就感觉很高端,实际上当你了解了后才发现其实就是高阶函数的一个特殊用法。 果然是不管作用怎么样都要有个高端的名字才有用。 首先看看柯里化到底是什么? 维基百科上说道:柯里化,英语:Currying(果然是满满的英译 ...
分类:
Web程序 时间:
2020-02-24 11:23:39
阅读次数:
112
Decorators装饰器——TypeScript 装饰器是一种特殊类型的声明,它能够被附加到类声明,方法, 访问符,属性或参数上,可以修改类的行为。 装饰器使用 @expression这种形式,expression求值后必须为一个函数,它会在运行时被调用,被装饰的声明信息做为参数传入。 例: @P ...
分类:
其他好文 时间:
2020-02-21 14:23:39
阅读次数:
192
将多个参数的函数,转换成单参数函数链 以add()()()举例 function add(){ 使用数组保存参数 let _args = Array.prototype.slice.call(arguments); let _adder = function(){ _args.push(...arg ...
分类:
其他好文 时间:
2020-02-11 14:32:21
阅读次数:
78
无论任何语言,高阶函数都是coder走向高级的必修课程,它为我们在日常编码中也提供很多新的思路和解决方案,也为工程设计模式提供了依据铺垫。同时函数柯里化、节流函数、防抖函数、分时函数、惰性加载函数等在工程中使用也非常普遍。 ...
分类:
编程语言 时间:
2020-01-23 15:29:35
阅读次数:
82