我可以在Firebug中使用console.log()来查看回调函数的结果吗?
问题描述:
使用下面的例子,是否可以将回调函数的结果发送到控制台,即返回的值是什么?我可以在Firebug中使用console.log()来查看回调函数的结果吗?
rows.sort(function(a, b) {
if(a.sortKey < b.sortKey) return -sortDirection;
if(a.sortKey > b.sortKey) return sortDirection;
return 0;
});
什么会我作为参数使用方法:执行console.log
答
你回来之前,你可以随时登录,并重构,以支持记录容易(?)。除此之外,返回值会丢失到排序功能。
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;
});
答
你总是可以利用职能是一流的对象,在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;
}));
这将是冷静,如果你能提供控制台。记录为回调函数。 – 0xcaff 2013-09-18 21:25:42