我正在面对来自JSLint的消息
Expected 'new' and instead saw '.'.
负责的代码行:
utc = Date.UTC(year, month, date);
此函数返回一个字符串。
所以JSLint期待新的而不是"。"在Date
和UTC()
之间。 JSLint期望在构造函数前面使用new,并且它还假设以大写字母开头的函数是按惯例构造的。
我无法控制这个,因为这是一个预构建功能。它没有使用new
构建表单。
此外,我试图通过遵循其他答案中建议的选项来忽略它:
/*jslint ignore:start */
/*ignore:true */
/*ignore jslint start*/
// jslint ignore:line
/*jsl:ignore*/
这些都不起作用!
我期待着一个解决方法" new"或忽略该特定行或代码段。如何解决这个问题?
答案 0 :(得分:1)
我filed a bug for this behavior和Crockford fixed it the same day。 (他是一个非常敏感的维护者。)使用最新版本的JSLint来修复此行为。它还没有在jslint.com上,但我预计很快就会出现。
这是一个非常不寻常的情况,因为大写字母通常表示构造函数。在U
中使用初始大写UTC
来表示非构造函数与JSLint推荐的样式相反,但在这种情况下,没有什么可以做的,因为它至少是标准的一部分5年。 JSLint只需要一个狭窄的例外,它的“初始资本均值构造函数”规则允许特定标准所需的UTC
非构造函数。