Вы всегда можете воспользоваться функциями, являющимися объектами первого класса в Javascript, и поиграться с AOP-подобной упаковкой :
function addLogging(fn){
return function() {
var result = fn.apply(null, arguments);
console.log(result);
return result;
}
}
var sortDirection = 1;
[ {sortKey: 1}, {sortKey: 2}, {sortKey: 0} ].sort(addLogging(function(a, b){
if(a.sortKey < b.sortKey) return -sortDirection;
if(a.sortKey > b.sortKey) return sortDirection;
return 0;
}));