Javascript 提供新类型控制流的高阶函数(雄辩的JS)?

Javascript 提供新类型控制流的高阶函数(雄辩的JS)?,javascript,higher-order-functions,Javascript,Higher Order Functions,我正在研究雄辩的TJS第5章高阶函数,我很难完全理解他给出的创建新函数的函数示例的部分。我遇到的问题是理解提供新型控制流的功能: function unless(test, then) { if (!test) then(); } function repeat(times, body) { for (var i = 0; i < times; i++) body(i); } repeat(3, function(n) { unless(n % 2, funct

我正在研究雄辩的TJS第5章高阶函数,我很难完全理解他给出的创建新函数的函数示例的部分。我遇到的问题是理解提供新型控制流的功能:

function unless(test, then) {
    if (!test) then();
}

function repeat(times, body) {
    for (var i = 0; i < times; i++) body(i);
}

repeat(3, function(n) {
    unless(n % 2, function() {
        console.log(n, "is even");
    });
});
// → 0 is even
// → 2 is even

我不知道我是如何说服自己该函数实际上在做什么。谢谢你的时间。

如果<代码>将通过,因为
0==false
哦,我的天啊,对了,谢谢你。我假设返回0余数的模运算表达式为真。谢谢谢谢谢谢我想知道是否有人能详细解释一下上面的代码?我想了解高阶函数
n
是外部函数的一个参数。@elclanrs我想知道您是否可以为我详细说明上面的代码?我会非常感激的。我不明白新类型的控制流如何与高阶函数一起工作。谢谢你的时间!
//if (!(n %2)) then run the function.