JSLint突然报道:使用“使用严格”的函数格式

我包括这样的陈述:

"use strict";

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

JSLint从未对此提出警告。 但现在是,说:

使用“使用严格”的函数格式。

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


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

请参阅道格拉斯克罗克福德的最新博客文章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*/来禁止此警告。

如果你正在编写一个库,我只会建议使用全局严格的,如果你的代码被封装成模块,就像nodejs一样。

否则,你会强迫每个使用你的库的人进入严格模式。

链接地址: http://www.djcxy.com/p/3173.html

上一篇: JSLint is suddenly reporting: Use the function form of "use strict"

下一篇: Prototyping Object in Javascript breaks jQuery?