【发布时间】:2018-12-30 04:27:43
【问题描述】:
给定一个简单的函数:
const a = (x) => (y) => x + y
及其部分应用的版本:
const b = a(3)
有没有办法改变b中已经绑定的参数?类似的东西
b.boundArgs[0] = 5
所以如果我调用b(5),它将返回10 而不是8
一点背景:
我使用了一个库,它返回部分应用的函数作为库函数调用之一的结果。
我必须修改第一个参数(由库函数应用)并且我不想复制粘贴此函数的实现。除了这个小修改之外,我想留在图书馆。
【问题讨论】:
-
不,在你的例子中没有办法做到这一点。
-
初始函数在哪里调用?你必须修改它
-
@JonasW。在库中调用了初始函数,所以我不能修改它
-
那就不可能了:/
-
@Pointy 这意味着唯一的方法是复制库实现并修改它?
标签: javascript function binding partial currying