forEach method takes in a callback function and applies it to every member of the array. Under the hood we should see something like this:
function forEach(fn) {
for (var i = 0; i < array.length; ++i) {
fn(array[i], i, array);
}
}
Of course, the real forEach would much different since it's an Array method, but the implementation should be similar.
Back to your question, for a function that takes in a callback function, you should always pass a reference of the callback (in this case "adder") to the function (forEach) instead of invoking it, let the function handles the time to invoke it.
On a different note, if you're trying to get the summation of an array the method you should look at is reduce.