2010-11-03 59 views
0

我想知道是否可以使用for(或for each)循環來跟蹤事件的屬性到輸出窗口。我知道我可以一氣呵成跟蹤事件,像這樣:Flash AS事件屬性:可以用for循環跟蹤它們嗎?

function myFunct (evt:IOErrorEvent):void 
{ 
    trace(evt); 
} 

不幸的是這會有點瘋狂在某些情況下,如長URL路徑看,所以我想重新格式化了一下顯示在自己的行每個屬性,像這樣:

function URLLoader_IOError (evt:IOErrorEvent):void 
{ 
    for each(var prop in evt) 
    { 
     trace(prop) 
    } 
} 

當然,這個例子沒有顯示在輸出窗口任何東西。我在功能中遺漏了什麼,或者這只是不可行?

謝謝!

回答

1

我建議你找到你想要追蹤和追蹤那些具體的命名屬性。有用的屬性是errorId,texttype。可能還有eventPhase

隨着代碼的立場,您將嘗試將對象轉換爲字符串表示形式。例如,trace應該與currentTarget屬性做什麼?你真的關心IOErrorEventbubbles屬性嗎?或'構造函數'?

或者,您可以在循環中進行大量測試以確定要處理的數據類型,並將其某些屬性轉換爲字符串以進行跟蹤,但在一天結束時仍然必須使用調試器深入檢查對象。

+0

我同意你的必要性和爆炸點。我只是好奇,是否有可能在訓練情況下讓新手更容易接受輸出。如果它不像上面那樣快,那麼花時間去向他們展示如何閱讀原始事件追蹤。謝謝! – Eric 2010-11-03 17:16:08