這裏是一段jQuery/JavaScript代碼我沒有寫,但我試圖在Firebug上調試(我複製/粘貼它,只是添加一些空間,以良好的連接):Firefox的JavaScript解釋器或螢火蟲跳過線
if (control == "#testTakerSearchSource" && object !== undefined && object[key] !== undefined && key == "datasets" && object[key].length >= 3) {
var afterValues = [];
if (object[key].length == 3 && object[key][0] == "1") {
afterValues[0] = "1,2,3";
object[key] = afterValues;
}
else {
var beforeValues = object[key];
afterValues[0] = "1,2,3";
for (var i = 3; i < beforeValues.length; i++) {
afterValues[i - 2] = beforeValues[i];
}
object[key] = afterValues;
}
}
我設置了第一行的斷點。它停止,因爲它應該。當我打F10時,它直接跳到afterValues[i - 2] = beforeValues[i];
這一行,將幾個括號右移到一個for循環中......我嘗試重新啓動FF,但是這個錯誤再次發生,並且據我所知至少發生在至少另一臺機器。
我的猜測是我正在使用保留的關鍵字或其他東西。我會重寫這個,因爲我不喜歡它的樣子,但是有沒有人知道它爲什麼會發生?
火狐14.0.1
螢火蟲1.10.3
的jQuery 1.8.0
的jQuery UI的23年1月8日
編輯:
我嘗試這樣做:
try {
if (control == "#testTakerSearchSource" && object !== undefined && object[key] !== undefined && key == "datasets" && object[key].length >= 3) {
var afterValues = [];
if (object[key].length == 3 && object[key][0] == "1") {
afterValues[0] = "1,2,3";
object[key] = afterValues;
}
else {
var beforeValues = object[key];
afterValues[0] = "1,2,3";
for (var i = 3; i < beforeValues.length; i++) {
afterValues[i - 2] = beforeValues[i];
}
object[key] = afterValues;
}
}
}
catch (err) {
alert(err);
}
現在,如果我在同一行上設置斷點,它會跳轉到object[key] = afterValues;
行。如果我繼續,沒有例外...
編輯2:其他假設:Firefox有一個不同的版本,我的js文件的某處比它實際顯示我。這有道理嗎?我重新啓動了整個事情,所以我不知道會如何發生......
沒有工作,我更新了我的問題 –