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

时间:2014-04-02 16:57:43

标签: javascript google-chrome

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

(我知道做了什么,我只是不知道其实现的细节以及我如何向其他人解释其词汇性质。)

1 个答案:

答案 0 :(得分:6)

它实际上已在ES5 standard中描述 - 是的,它是statement

  

<强>语法

     

DebuggerStatement:

     

debugger;

     

<强>语义

     

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

     

评估如下:

     
      
  • 如果实现定义的调试工具可用并启用,那么   
        
    • 执行实现定义的调试操作。
    •   
    • 让结果成为实现定义的完成值。
    •   
  •   
  • 否则   
        
    • 让结果为(normal, empty, empty)。返回结果。
    •   
  •   

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