我包括声明:
"use strict";
在我的大多数 Javascript 文件的开头。
JSLint 之前从未对此提出过警告。但现在是,说:
使用 “use strict” 的功能形式。
有谁知道 “功能形式” 会是什么?
包括'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 */
或(根据Laith Shadeed )
/* jshint -W097 */
要禁用 JSHint 中的任意警告,请检查JSHint 源代码中的映射( 文档中的详细信息)。
更新 2: JSHint支持node:boolean
选项。请参阅github 上的.jshintrc
。
/* jshint node: true */
如果您正在为 NodeJS 编写模块,那么它们已经封装了。通过在文件顶部包含来告诉 JSLint 你有节点:
/*jslint node: true */
我建议改用jshint 。
它允许通过/*jshint globalstrict: true*/
来抑制此警告。
如果您正在编写库,我建议使用 global strict,如果您的代码被封装到模块中,就像 nodejs 一样。
否则,您将强制使用您的库的每个人进入严格模式。