在代码中设置一个JavaScript断点 – 在铬?

我想强制chromedebugging器通过代码断行,或者使用某种types的注释标记,如console.break()

有没有办法做到这一点?

你可以使用debugger; 在你的代码中。 如果开发人员控制台处于打开状态,执行将会中断 它也适用于萤火虫。

正如其他人已经说过的, debugger; 是要走的路。 我写了一个小脚本,可以在浏览器的命令行中使用,在函数调用之前设置和删除断点: http : //andrijac.github.io/blog/2014/01/31/javascript-breakpoint/

设置一个button点击监听debugger;并调用debugger;

 $("#myBtn").click(function() { debugger; }); 

演示

http://jsfiddle.net/hBCH5/

有关在JavaScript中进行debugging的资源

您也可以使用debug(function) ,当function被调用时中断。

命令行API参考:debugging

在“脚本”选项卡上,转到您的代码所在的位置。 在行号的左侧,点击。 这将设置一个断点。

截图:

在铬中的断点的屏幕截图

然后,您将能够在正确的选项卡中跟踪您的断点(如屏幕截图所示)。

这是可能的,有很多原因,你可能想这样做。 例如,debugging一个接近页面加载开始的JavaScript无限循环,这会阻止Chrome开发者工具集(或者萤火虫)正确加载。

参见第2节

http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/

或者在需要的testing点添加一行包含单词debugging器的代码到您的代码中。

debugger是EcmaScript的保留关键字,自ES5以来给出了可选的语义

因此,不仅可以在Chrome中使用,还可以通过node debug myscript.js Firefox和Node.js。

标准说 :

句法

 DebuggerStatement : debugger ; 

语义

评估DebuggerStatement生产可能允许实现在debugging器下运行时导致断点。 如果debugging器不存在或不活跃,则该语句没有可观察到的效果。

生产DebuggerStatement:debugging器; 评估如下:

  1. 如果一个实现定义的debugging工具可用并且被启用,那么
    1. 执行一个实现定义的debugging操作。
    2. 让结果成为实现定义的完成值。
  2. 其他
    1. 让结果为(正常,空,空)。
  3. 返回结果。

断点: –

断点将停止执行,并让您检查JavaScript值。

检查值后,可以继续执行代码(通常使用播放button)。

debugging器: –

debugging器; 停止JavaScript的执行,并调用debuggingfunction。

debugging器语句暂停执行,但它不closures任何文件或清除任何variables。

 Example:- function checkBuggyStuff() { debugger; // do buggy stuff to examine. };