一尘不染

JSLint突然报告:使用“使用严格”功能形式

javascript

我包括以下声明:

"use strict";

在我大多数Javascript文件的开头。

JSLint从未对此发出警告。但现在是这样说:

使用“使用严格”的功能形式。

有谁知道“函数形式”是什么?


阅读 364

收藏
2020-05-01

共1个答案

一尘不染

'use strict';作为包装函数中的第一条语句包括在内,因此它仅影响该函数。这样可以防止在连接不严格的脚本时出现问题。

请参阅道格拉斯·克罗克福德(Douglas Crockford)的最新博客文章“严格模式即将来临”。

该帖子中的示例:

(function () {
   'use strict';
   // this function is strict...
}());

(function () {
   // but this function is sloppy...
}());

更新: 如果您不想包装立即函数(例如,它是一个节点模块),则可以禁用警告。

/*jslint node: true */

对于 JSHint

/*jshint strict:false */

或(根据Laith Shadeed的说法

/* jshint -W097 */

要禁用来自JSHint的任何警告,请检查JSHint源代码中的映射(在docs中有详细信息)。

更新2: JSHint
支持node:boolean选项。见.jshintrcgithub。

/* jshint node: true */
2020-05-01