Могу ли я просмотреть результат функции обратного вызова, используя console.log () в Firebug? - PullRequest
0 голосов
/ 12 октября 2009

Используя приведенный ниже пример, можно ли отправить результат функции обратного вызова на консоль, т.е. возвращаемое значение?

rows.sort(function(a, b) {
 if(a.sortKey < b.sortKey) return -sortDirection;
 if(a.sortKey > b.sortKey) return sortDirection;
 return 0;
 });

Что бы я использовал в качестве аргумента: console.log (?)

Ответы [ 2 ]

2 голосов
/ 12 октября 2009

Вы всегда можете войти, прежде чем вернуться, и рефакторинг для поддержки легкой регистрации. Кроме этого, возвращаемое значение теряется функцией сортировки.

rows.sort(function(a, b) {
 var returnVal = 0;
 if(a.sortKey < b.sortKey) returnVal = -sortDirection;
 else if(a.sortKey > b.sortKey) returnVal = sortDirection;

 console.log( returnVal );
 return returnVal;
 });
0 голосов
/ 13 октября 2009

Вы всегда можете воспользоваться функциями, являющимися объектами первого класса в 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;
}));
...