【发布时间】:2018-10-14 05:45:49
【问题描述】:
我是 JavaScript 新手。我有一个小程序,其中一个函数将另一个函数作为参数。我正在尝试提取/访问作为参数传递的函数的参数。这是一个例子:
function test(precondition, postcondition, func) {
// Extract arguments of func which in this case should be 5 and 6
// This is required to check whether isNumber(5) and isNumber(6)
// both return true, so that precondition is met
}
var add = test((isNumber, isNumber), isNumber,
function add(x, y) {return x+y; });
console.log(add (5, 6));
isNumber 是一个函数,如果输入是数字(已定义),则返回 true。 试图提供规则要求的最小且可执行的代码。任何帮助是极大的赞赏。谢谢!
【问题讨论】:
-
如前所述,这是不可能的。
test仅在add完成并且其调用已解析为号码11后才能看到结果。您必须在链条的早期检测到它,例如add(test(5, 6)),但我不知道这是否是您要寻找的 -
这实际上是编程合约问题的简化版本。我的 test() 函数接受 3 个参数:前置条件、后置条件(返回类型)和函数本身。我需要函数的参数来检查是否满足先决条件,即 5 和 6 都是数字。
-
那么请发布实际代码,而不是简化代码
-
javascript 闭包可以提供帮助
-
这可以工作
function add(x, y) { return x + y; } function test(func, p1, p2) { console.log(arguments) < console.log(func(p1, p2)); } var x = test(add, 5, 6);
标签: javascript function arguments