th no initial value"); var accumulator, k = length - 1; if (arguments.length > 1) accumulator = arguments[1]; else accumulator = this[k--]; for (; k >= 0; k--) accumulator = callback.@call(@undefined, accumulator, this[k], k, this); return accumulator; })