【问题标题】:Firefox javascript interpreter or Firebug skipping linesFirefox javascript 解释器或 Firebug 跳行
【发布时间】:2012-10-11 20:24:49
【问题描述】:

这是一段我没有编写的 jquery/javascript 代码,但我正在尝试在 Firebug 上进行调试(我按原样复制/粘贴它,只是添加了一些空格以实现良好的对齐):

 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 1.8.23

编辑:

我试过这个:

 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; 行。如果我继续,则不会捕获任何异常...

Edit2: 其他假设:Firefox 在某处的某个版本的我的 js 文件与它实际向我显示的版本有所不同。这有意义吗?我重新开始了整个事情,所以我不知道会发生什么......

【问题讨论】:

    标签: javascript firefox firebug


    【解决方案1】:

    我认为这可能是由于代码中的一些异常。我的建议是用错误处理修改你的代码

    try
      {
       //your code if (control == "#testTakerSearchSource" && .........
      }
    catch(err)
      {
       alert(err);
      }
    

    【讨论】:

      【解决方案2】:

      我最终重写了那部分,我不知道为什么会这样,并且从那时起 Firebug 被更新了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-14
        • 1970-01-01
        相关资源
        最近更新 更多