Я, наверное, что-то не очень понял...
_log=[];
arr=[1, 2, 3, 4, 5, false, 6, 7];
function each(arr, func) {
for (var i=0; i!= arr.length; ++i) {
_log.push(arr[i]);
if(func(arr[i], i, arr)===false) break;
};
};
each(arr, function(a, b, c){if (a===false) return false});
alert(_log);
Нет?