你怎么能触发"这到底是什么?" JSLint消息?

Pet*_*son 32 javascript jslint

JSLint有一些有趣的消息,例如eval is evil.当你使用eval语句时,以及Weird relation.比较两个文字时,例如1 == 2.

我正在查看JSLint消息列表,并注意到列表底部的这个消息:

这到底是什么?

我浏览了JSLint源代码并找到了这段代码:

if (stack.length === 0) {
    error("What the hell is this?", nexttoken);
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一段时间,但没有成功,编写触发这个的代码.我没有读到任何关于JSLint的内容,但是它存在的原因或原因是什么.我已经简要地检查了代码,但是我无法真正理解堆栈是什么,它是如何填充的,或者是什么原因导致它是空的.

有人可以写一个代码示例,它会导致JSLint尖叫What the hell is this?或解释阻止这种情况发生的原因吗?

Ilm*_*nen 16

它看起来很像"不可能发生"的检查(一种防御性编程形式).如果是这样,在实践中可能没有任何方法可以触发它.

  • 如果这是真的,那将是非常令人失望的.我一生都梦想让JSLint直接侮辱我的代码. (13认同)
  • @Peter至少你总是让Visual Studio为开发人员调用一个工具. (7认同)