什么是词汇意义上的"调试器"?

tem*_*ame 3 javascript google-chrome

我刚刚发现了debugger关键字或JavaScript开发的任何内容,我不清楚它是什么.当然它不是表达,它没有价值.但是我需要在它之后放一个分号吗?它被定义为什么?我的意思是,它在技术上就像是Chrome运行时语言的补充,不是吗?

(我知道它的作用,我只是不知道它的实现细节以及我如何向其他人解释它的词汇性质.)

rai*_*7ow 6

它实际上是在ES5标准中描述的- 是的,它是statement:

句法

DebuggerStatement:

debugger;

语义

评估DebuggerStatement生产可能允许实现在调试器下运行时导致断点.如果调试器不存在或处于活动状态,则此语句没有可观察到的影响.

评估如下:

  • 如果实现定义的调试工具可用并启用,那么
    • 执行实现定义的调试操作.
    • 让result为实现定义的Completion值.
  • 其他
    • 让结果为(normal, empty, empty).返回结果.

作为旁注,大多数现代浏览器 - 不仅仅是Chrome--支持此功能.