JSLint忽略未定义的变量

Ran*_*lue 15 javascript jslint

我已将我的js程序切成许多部分用于开发.现在,当我通过JSLint运行一个部分时,我收到了很多类型的错误:

第48行的问题42:在定义之前使用'XXXXXXX'.

我找了一个选项"容忍未定义的变量",但没有找到任何这样的选项.我能做些什么来让JSLint忽略未定义的变量?

sti*_*vlo 43

JSLint文档:

JSLint还识别一个/*global*/指令,该指令可以向JSLint指示此文件中使用的变量是在其他文件中定义的.注释可以包含逗号分隔的名称列表.每个名称可以后跟一个冒号,后跟true或false,true表示该变量可以由该文件赋值,false表示不允许赋值(默认值).

例:

/*global var1, var2, var3 */
Run Code Online (Sandbox Code Playgroud)

但是我建议你不要这样做,而是编写一个简单的脚本,重新组装所有文件并使用JSLint检查生成的文件.

  • 此外,如果我没有弄错,你可以将一个布尔值与每个变量名相关联,以指示该变量是否可写.False意味着只读.所以,`/*global var1:true,var2:false*/`表示var1是可写的,var2是只读的. (2认同)

Red*_*rca -9

JSHint是 JSLint 的一个很好的替代品,它有一个选项可以立即打开/关闭所有未定义变量的警告。

  • [JSLint 与 JSHint 的有趣比较](http://www.scottlogic.co.uk/2011/03/jslint-vs-jshint/)。 (2认同)