首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用委托与部分函数应用

调用委托与部分函数应用
EN

Stack Overflow用户
提问于 2014-03-14 15:47:34
回答 1查看 47关注 0票数 0

我需要用代码中许多地方的两个参数调用一个函数。

代码语言:javascript
复制
hash(itemToHash, algorithm) { ... }

我不想在每个函数调用中传递algorithm参数。

我可以使用一个参数创建一个函数,该参数将委托调用:

代码语言:javascript
复制
md5hash(itemToHash) {
   hash(itemToHash, 'md5')
}

或者我可以使用部分应用程序来绑定algorithm参数。

我这样做的方法是创建一个高阶函数,它返回部分应用的散列函数,我将从代码中的许多地方调用这个高阶函数来获得单个参数函数。

但是,这不是没有必要的复杂吗?与简单的呼叫委派相比,我认为第二种方法并没有任何好处。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 18:15:48

假设您有一些函数partial,它将参数部分应用于其他函数。您不需要在代码中任何地方调用这个partial函数,这样就可以使用部分应用的函数。

事实上,你只能叫它一次。若要生成部分应用的函数,然后说,将其绑定到名称。

代码语言:javascript
复制
md5Hash := partialRight(hash, 'md5')

至于我的理解,甚至

代码语言:javascript
复制
md5Hash(itemToHash) {
    hash(itemToHash, 'md5')
}

是某种局部的应用。虽然是静态的。partial函数的好处是能够在运行时创建部分应用的函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22409763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档