我在Firebug的控制檯內執行JavaScript。在運行下面的循環我注意到它的打印一個附加號碼:在其命令行中執行代碼時,Firebug正在打印一個附加數字
它提供了以下輸出:
var i = 0; while(i<10) { console.log(i); i++; }
0
1
2
3
4
5
6
7
8
9
9
這是一個錯誤或其他什麼東西?
我在Firebug的控制檯內執行JavaScript。在運行下面的循環我注意到它的打印一個附加號碼:在其命令行中執行代碼時,Firebug正在打印一個附加數字
它提供了以下輸出:
var i = 0; while(i<10) { console.log(i); i++; }
0
1
2
3
4
5
6
7
8
9
9
這是一個錯誤或其他什麼東西?
Console panel輸出通過Command Line或Command Editor執行的腳本的返回值。不幸的是,Firebug沒有在視覺上區分通過console.log()
創建的輸出的返回值。所以輸出結尾的第二個9
是返回值。
在Firefox的built-in DevTools這是比較明顯的:
注意,返回值的輸出不能被抑制。
造成干擾的最後一個9
是console.log()
的返回值。嘗試alert(i)
而不是console.log(i)
。
你好Sebastian Zartner,| 我的問題是爲什麼它與console.log發生?不要使用其他方式來逃避錯誤。意圖是深入挖掘爲什麼發生以及如何解決它。謝謝回覆。 – Sayeed
這個答案來自厄齊爾,我的一個是以上。 –
而且要清楚,腳本的返回值是最後執行的語句的值,即'i ++',其中'i = 9'(由於後綴增量返回9)。 –