2011-09-21 104 views
0

下面的代碼揭示了一些Chrome的內部調用堆棧運作的:瞭解Chrome的基本調用堆棧結構

(function revealCallStack() { 
    var fn = arguments.callee; 
    console.log('**Bottom of stack**:\n\n', fn); 
    while (fn = fn.caller) console.log('**Next on stack**:\n\n', fn); 
})(); 

請參閱http://jsfiddle.net/fW5Ag/。這段代碼在堆棧中顯示了四個函數。前兩個是有點可預測的。最後兩個(粘貼在下面)呢?

function (event){ 
    if (custom.condition.call(this, event, type)) return fn.call(this, event); 
    return true; 
} 

function (event){ 
    event = new DOMEvent(event, self.getWindow()); 
    if (condition.call(self, event) === false) event.stop(); 
} 

究竟發生在這裏?

回答

3

這些是Mootools和jsFiddle函數,用於執行Javascript而不是瀏覽器功能。

嘗試nowrap並且沒有庫:http://jsfiddle.net/fW5Ag/1/