JSLint:在定义之前使用

嗨,我有3个JavaScript文件。

  • 的jquery.js
  • utility.js
  • file1.js

在file1.js中我有

jQuery.noConflict() jQuery(document).ready(function($) { // .... }); 

我得到一个错误“jQuery”被使用之前,它被定义。 在定义之前使用“文档”。

我如何安全地摆脱这个警告。

如果我做

 var document = document || {}; 

然后在我的utility.js,如果它使用,它将是空的IE浏览器,并确定在Firefox。

什么是最好的解决scheme?

从文档

JSLint还可以识别一个/ * global * /指令,它可以向JSLint指出在这个文件中使用的variables是在其他文件中定义的。 注释可以包含逗号分隔的名称列表。 每个名称可以select跟一个冒号,可以是true或false,true表示variables可以被这个文件赋值,false表示不允许赋值(这是默认值)。 该指令尊重function范围。

一些全局variables可以为你预定义。 select“假定浏览器(浏览器)”选项来预定义由Web浏览器提供的标准全局属性,例如document和addEventListener。

例:

 /*jslint browser: true*/ /*global $, jQuery*/ 

正如Quentin所说,有一个/*global*/指令。

这是一个例子(把它放在文件的顶部):

 /*global var1,var2,var3,var4,var5*/ 

确保最初的全局语句与/*在同一行,否则就会中断。