Eloquent JavaScript - Chapter 5 - functions on functions

by Denise Nepraunig

HTML

<h1>Function abstraction - higher order functions</h1>
<div id="output"></div>
<h2>Funktionsbausteine</h2>

JavaScript

var output = document.getElementById("output");
var result;

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

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

// works
// repeat(3, alert);

repeat(3, function(n) {
    unless(n % 2, function() {
        alert("even: " + n)
    });
});

output.innerHTML = result;