JSLint突然上报:使用“使用严格”的功能形式
2022-08-29 22:13:04
我包括以下语句:
"use strict";
在我的大多数Javascript文件的开头。
JSLint以前从未警告过这一点。但现在是这样,说:
使用“使用严格”的功能形式。
有谁知道“函数形式”会是什么?
我包括以下语句:
"use strict";
在我的大多数Javascript文件的开头。
JSLint以前从未警告过这一点。但现在是这样,说:
使用“使用严格”的功能形式。
有谁知道“函数形式”会是什么?
作为包装函数中的第一个语句包含,因此它仅影响该函数。这可以防止在连接不严格的脚本时出现问题。'use strict';
请参阅Douglas Crockford的最新博客文章Strict Mode Is Coming To Town。
该帖子的示例:
(function () {
'use strict';
// this function is strict...
}());
(function () {
// but this function is sloppy...
}());
更新:如果您不想包装在即时功能中(例如,它是一个节点模块),那么您可以禁用警告。
对于JSLint(每个Zhami):
/*jslint node: true */
对于JSHint:
/*jshint strict:false */
或(每个莱丝阴影)
/* jshint -W097 */
要禁用来自 JSHint 的任何任意警告,请检查 JSHint 源代码中的映射(详细信息在文档中)。
更新2:JSHint支持选项。请参阅 github 上的 .jshintrc
。node:boolean
/* jshint node: true */
如果你正在为NodeJS编写模块,它们已经被封装了。通过在文件顶部包含节点来告诉 JSLint 你有节点:
/*jslint node: true */