我刚刚发现了debugger
关键字或JavaScript开发的任何关键字,我不清楚它是什么。当然,它不是表达,它没有价值。但是我需要在它之后放一个分号吗?它被定义为什么?我的意思是,它在技术上就像在Chrome运行时中添加了语言一样,不是吗?
(我知道做了什么,我只是不知道其实现的细节以及我如何向其他人解释其词汇性质。)
答案 0 :(得分:6)
它实际上已在ES5 standard中描述 - 是的,它是statement
:
<强>语法强>
DebuggerStatement:
debugger;
<强>语义强>
评估
DebuggerStatement
生产可能允许 在调试器下运行时导致断点的实现。如果一个 调试器不存在或处于活动状态此语句没有可观察的 效果。评估如下:
- 如果实现定义的调试工具可用并启用,那么
- 执行实现定义的调试操作。
- 让结果成为实现定义的完成值。
- 否则
- 让结果为(
normal, empty, empty
)。返回结果。
作为旁注,大多数现代浏览器 - 不仅仅是Chrome--支持此功能。