Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调试jQuery代码:如何在不丢失jQuery库的情况下进行调试_Javascript_Jquery_Debugging - Fatal编程技术网

Javascript 调试jQuery代码:如何在不丢失jQuery库的情况下进行调试

Javascript 调试jQuery代码:如何在不丢失jQuery库的情况下进行调试,javascript,jquery,debugging,Javascript,Jquery,Debugging,我们有一个中等大小的web应用程序,平均使用MVC.NET/WebAPI和Backbone.marionete编写。因此,可以公平地说,我们在Chrome和Firebug调试控制台上花费了相当多的时间 每当一个bug潜入到代码中,而我们无法准确地确定它是从哪里来的,它就会产生一个熟悉的噩梦 将断点放在某个合理的点上,比如看起来可疑的函数头 刷新页面 祷告该函数的后代都不会调用任何jQuery 如果我们真的陷入了困境,那么慢慢地进入jQuery函数,然后退出jQuery函数,直到我想要的函数回到范

我们有一个中等大小的web应用程序,平均使用MVC.NET/WebAPI和Backbone.marionete编写。因此,可以公平地说,我们在Chrome和Firebug调试控制台上花费了相当多的时间

每当一个bug潜入到代码中,而我们无法准确地确定它是从哪里来的,它就会产生一个熟悉的噩梦

将断点放在某个合理的点上,比如看起来可疑的函数头 刷新页面 祷告该函数的后代都不会调用任何jQuery 如果我们真的陷入了困境,那么慢慢地进入jQuery函数,然后退出jQuery函数,直到我想要的函数回到范围内 不要忘了在过程中设置断点,这样,如果我跳过了一个最终将我拉回来的函数,我就可以从那个点重新开始 不要惊慌 在我看来,这就像是一个重大的减速带。我真的关心jQuery如何解析选择器吗?它如何将函数映射到我的变量?也许吧,但在默认情况下,我当然不会。我只是想让我的变量通过方法链,看看另一端会发生什么。如果某个东西坏了,我可能会关心它为什么坏了,但更可能的是,我宁愿仔细阅读它的用法并正确地实现它。我不太在意通过大量jQuery代码跟踪它

现在,我明白了这就是JavaScript这种浏览器加载的解释性语言的本质。不过,我开始怀疑,我们是否已经达到了某种成熟度水平,我们可以假设一般的开发人员bug不需要深入检查标准jQuery、require、REST,您可以称之为脚本构建的库

或者更确切地说,要问一个问题,是否有一个调试器可以让我用尽可能多的回调来平滑地绘制代码的功能图,而不让我从标准库中纠结到代码中,假设我告诉调试器这些库是什么?如果我的代码陷入jQuery迷宫,是否有足够智能的东西可以自动导航(比如jQuery代码)并将焦点重新注入到我的函数中


请不要将此作为答案发布;,但是,有没有人和我一样感到沮丧,或者我遗漏了一些基本的东西呢?

为什么要首先使用jQuery函数?为什么不跳过那些电话?或者,如果你不小心插手了,就马上出去?您是否启用了所有异常的中断,而不是未捕获的异常的中断?@IanHenry问题是,有时候进入jQuery是不可避免的。一个简单的例子:如何调试this函数:'.someClass'。单击'click',函数{/*debug me*/};?如果要调试事件句柄中的内容,可以在事件处理程序中设置断点。如果都在一条线上,那就不行了。还可以添加调试器;在您的代码中,它将在点击时开始调试。如果您有一个特定的示例,我可以发布一个关于如何调试这种情况的答案,但是每个调试场景都是不同的。@seabicite我会在回调中添加一个断点。实际上,因为我很懒,我会在回调中添加一条语句。$'。在“单击”时,函数e{debugger;/*Debug me*/};请确保在签入调试器语句之前将其删除!