2009-10-12 27 views
0

使用下面的例子,是否可以將回調函數的結果發送到控制檯,即返回的值是什麼?我可以在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

+0

這將是冷靜,如果你能提供控制檯。記錄爲回調函數。 – 0xcaff 2013-09-18 21:25:42

回答

2

你回來之前,你可以隨時登錄,並重構,以支持記錄容易(?)。除此之外,返回值會丟失到排序功能。

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

你總是可以利用職能是一流的對象,在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; 
})); 
相關問題