如何在 JavaScript lambda 函数中获取变量的固定值?

问题描述 投票:0回答:1

我有一个函数返回函数。内部函数在其主体中使用父函数的参数。然后,我列出了通过使用不同参数调用父函数而生成的函数列表。这是一个例子:

function f(a) { return function(b) { return a * a + b; }; }
var fList = [f(-2), f(-1), f(0), f(1), f(2)];

这些来自图书馆,我无法修改它们。

我想知道是否有可能根据父函数参数的值在

fList
上应用过滤器。例如,我可以获取
fList
中的项目,其中使用非负值调用
f
函数吗?我尝试在调试控制台中检查
fList[0]
,但不幸的是无法取得任何进展。

我觉得这是不可能的。但是,由于当我调用

fList[0](2)
时,它使用
a
变量的
-2
值,我希望如此。

请不要建议使用反函数,这就是为什么我让它返回搜索参数加上内部参数的平方。上面是一个过于简单的例子,实际情况下的身体有很大不同,并且有一些副作用。

javascript variables lambda scope
1个回答
0
投票

如果您的 fList 按数字顺序排列(如上所示),那么您就知道 fList 之前 0 的结果(即 f(0) = 0 * 0 + 0 = 0)中的每个元素都来自 a负数

© www.soinside.com 2019 - 2024. All rights reserved.