我在一个函数中收到了一些可疑的代码警告。我想在该函数中禁止类型suspiciousCode
的警告错误 - 而不是整个文件。
Google closure wiki告诉我使用@suppress {suspiciousCode}
,但这不起作用并给我另一个警告:JSC_PARSE_ERROR: Parse error. unknown @suppress parameter: suspiciousCode
。
重要的代码行:
/**
* This is a function where type checking is disabled.
* @suppress {suspiciousCode}
*/
(function(a,b){
这可能与包装功能有关吗?
编辑:
这些是我想要压制的错误代码:
JSC_SUSPICIOUS_SEMICOLON: If this if/for/while really shouldnt have a body, use {}
JSC_USELESS_CODE: Suspicious code. The result of the 'getprop' operator is not being used.
JSC_USELESS_CODE: Suspicious code. This code lacks side-effects. Is there a bug?
我已经检查了警告,他们正是我想要的。
答案 0 :(得分:2)
我认为可疑代码不具有可抑制性,因为它表示语法正确但是许多常见代码错误的来源。例如,这里是与NaN进行比较的讨论:https://code.google.com/p/closure-compiler/issues/detail?id=857。在你的情况下,编译器告诉你,如果你希望有一个空主体的for循环,使用一组空{}
来表示这一点,因为它更清晰,不太可能是无意的。
uselessCode诊断组将禁止两个“JSC_USELESS_CODE”警告。通常,编译器假定getprop调用没有副作用,因此如果您不使用该值,它将发出警告。情况并非总是如此,因此它无法删除代码,而是会向您发出警告。
答案 1 :(得分:2)
这是一个疏忽,它将在下一个版本中修复。您可以通过从源代码构建来获取它。以下是将其添加到可用于抑制的诊断组列表中的更改: