11

我正在使用 jslint 来验证我的代码。
我在所有页面上都有“使用严格”。
如何禁用消息“使用'use strict'的函数形式”但保留“缺少'use strict'语句”警告,这样我就不会忘记将它放在新文件上?

谢谢

4

4 回答 4

14

根据Crockford 的帖子,您需要将所有内容包装在一个函数中......

(function () {
    "use strict";
    // the rest of your file goes here...
}());

您也可以改用jshint,它有一个“ globalstrict ”选项,可以完全按照您的要求做,而不必将所有内容包装在一个函数中

于 2012-01-21T18:23:40.300 回答
2

如果不更改驱动 jslint 的 javascript 文件,则无法完成。

对我来说功能形式是一种胡思乱想的工作实践,因此不能强加于人。

不是每个人都需要合并和缩小,但即使我这样做了,我也会合并应用相同规则的代码,因此文件语句就足够了。

虽然 jshint 正是您需要的功能。最新的 jslint 现在比 jshint 更先进,发现了更多的弱点并处理了更复杂的代码。我喜欢 jshint,但它跟不上 jslint。

于 2012-01-21T18:20:15.260 回答
0

我为此找到的解决方案是使用“use strict”创建一个单行文件;没有别的了

将其作为连接包中的第一个文件,将其添加到 jslint 的排除列表中,切换 sloppy=true 杂注

不拾取草率代码可能会有一些副作用,但我对文档的理解是它只是检查“使用严格”;线

于 2013-06-06T22:33:08.663 回答
-2

这是抑制“使用'use strict'的函数形式”的hack。

    $ uname -a
    Darwin 13.0.0 Darwin Kernel Version 13.0.0
  1. 找出你的 jslint 分布在哪里。

    $ which jslint
    /usr/local/bin/jslint
    $ ls -l /usr/local/bin/jslint
    lrwxr-xr-x  1 root  admin  40 11 Feb  2013 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js
    $ cd /usr/local/lib/node_modules/jslint/
    $ ls
    LICENSE     README.md   lib     package.json
    Makefile    bin     node_modules
    
  2. 注释掉警告。

    $ sudo vim lib/jslint.js
    
    search for 'function_strict'
    comment out the line 'warn('function_strict');'
    note: the exact line might vary on some versions but just comment it out.
    
  3. 如果它不起作用,您可能安装了多个版本的 jslint 并且没有编辑正确的版本。

    sudo find / -name jslint.js
    
于 2014-02-11T21:53:30.073 回答