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*/
确保最初的全局语句与/*
在同一行,否则就会中断。