JSLint预期'新'而是看到'。'

时间:2016-03-21 12:48:41

标签: javascript jslint

我正在面对来自JSLint的消息

Expected 'new' and instead saw '.'.

负责的代码行:

utc = Date.UTC(year, month, date);

此函数返回一个字符串。

所以JSLint期待新的而不是"。"在DateUTC()之间。 JSLint期望在构造函数前面使用new,并且它还假设以大写字母开头的函数是按惯例构造的。

我无法控制这个,因为这是一个预构建功能。它没有使用new构建表单。

此外,我试图通过遵循其他答案中建议的选项来忽略它:

/*jslint ignore:start */
/*ignore:true */
/*ignore jslint start*/
// jslint ignore:line
/*jsl:ignore*/

这些都不起作用!

我期待着一个解决方法" new"或忽略该特定行或代码段。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

filed a bug for this behaviorCrockford fixed it the same day。 (他是一个非常敏感的维护者。)使用最新版本的JSLint来修复此行为。它还没有在jslint.com上,但我预计很快就会出现。

这是一个非常不寻常的情况,因为大写字母通常表示构造函数。在U中使用初始大写UTC来表示非构造函数与JSLint推荐的样式相反,但在这种情况下,没有什么可以做的,因为它至少是标准的一部分5年。 JSLint只需要一个狭窄的例外,它的“初始资本均值构造函数”规则允许特定标准所需的UTC非构造函数。